Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c1db' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/9355555-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 1.3 PID: 2325 Logging PID: 2326 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 9355555, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'd9552a193d67b51834b1fcb75f2fa5def17053bf', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pyproject-rpm-macros-control/python-dask', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-dask', 'package_version': '2025.4.1-3', 'project_dirname': 'pyproject-rpm-macros-control', 'project_name': 'pyproject-rpm-macros-control', 'project_owner': 'thrnciar', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/thrnciar/pyproject-rpm-macros-control/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'http://kojipkgs.fedoraproject.org/repos/rawhide/latest/$basearch/', 'id': 'http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch', 'name': 'Additional repo http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch'}], 'sandbox': 'thrnciar/pyproject-rpm-macros-control--https://src.fedoraproject.org/user/ksurma', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'https://src.fedoraproject.org/user/ksurma', 'tags': [], 'task_id': '9355555-fedora-rawhide-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pyproject-rpm-macros-control/python-dask /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/pyproject-rpm-macros-control/python-dask', '/var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask'... Running: git checkout d9552a193d67b51834b1fcb75f2fa5def17053bf -- cmd: ['git', 'checkout', 'd9552a193d67b51834b1fcb75f2fa5def17053bf', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask rc: 0 stdout: stderr: Note: switching to 'd9552a193d67b51834b1fcb75f2fa5def17053bf'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at d9552a1 automatic import of python-dask Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask rc: 0 tail: /var/lib/copr-rpmbuild/main.log: file truncated stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading dask-2025.4.1.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o dask-2025.4.1.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/thrnciar/pyproject-rpm-macros-control/python-dask/dask-2025.4.1.tar.gz/md5/b0b3acf0a2d1eec6b23b457e65fdb4d8/dask-2025.4.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 10.4M 100 10.4M 0 0 24.0M 0 --:--:-- --:--:-- --:--:-- 24.0M INFO: Reading stdout from command: md5sum dask-2025.4.1.tar.gz Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask/python-dask.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1753885010.838369 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.3 starting (python version = 3.13.5, NVR = mock-6.3-1.fc42), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask/python-dask.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1753885010.838369 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask/python-dask.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.3 INFO: Mock Version: 6.3 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1753885010.838369/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-cc9f2079-6de0-414b-94e0-c3402c520c98 INFO: Checking that f4185c2bbe1ceaaafd1690b431be0e6c279207962ab0556fcce48581819703d5 image matches host's architecture INFO: Copy content of container f4185c2bbe1ceaaafd1690b431be0e6c279207962ab0556fcce48581819703d5 to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1753885010.838369/root INFO: mounting f4185c2bbe1ceaaafd1690b431be0e6c279207962ab0556fcce48581819703d5 with podman image mount INFO: image f4185c2bbe1ceaaafd1690b431be0e6c279207962ab0556fcce48581819703d5 as /var/lib/containers/storage/overlay/93f07b9ab01d3e57d080ce250f85509f9f68b99796ed74f75aa043b2ffd80290/merged INFO: umounting image f4185c2bbe1ceaaafd1690b431be0e6c279207962ab0556fcce48581819703d5 (/var/lib/containers/storage/overlay/93f07b9ab01d3e57d080ce250f85509f9f68b99796ed74f75aa043b2ffd80290/merged) with podman image umount INFO: Removing image mock-bootstrap-cc9f2079-6de0-414b-94e0-c3402c520c98 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1753885010.838369/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-5.99.91-2.fc43.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 dnf5-5.2.15.0-3.fc43.x86_64 dnf5-plugins-5.2.15.0-3.fc43.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 38.1 KiB/s | 45.5 KiB | 00m01s Additional repo http_kojipkgs_fedorapr 100% | 9.2 MiB/s | 14.4 MiB | 00m02s fedora 100% | 12.5 MiB/s | 22.9 MiB | 00m02s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.3.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.4 MiB bzip2 x86_64 1.0.8-21.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 95.3 KiB coreutils x86_64 9.7-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.4 MiB cpio x86_64 2.15-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB diffutils x86_64 3.12-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB fedora-release-common noarch 43-0.19 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.4 KiB findutils x86_64 1:4.10.0-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB gawk x86_64 5.3.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB glibc-minimal-langpack x86_64 2.41.9000-24.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B grep x86_64 3.12-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB gzip x86_64 1.13-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 388.8 KiB info x86_64 7.2-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 353.9 KiB patch x86_64 2.8-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 222.8 KiB redhat-rpm-config noarch 343-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 182.9 KiB rpm-build x86_64 5.99.91-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 285.5 KiB sed x86_64 4.9-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 857.3 KiB shadow-utils x86_64 2:4.18.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.9 MiB tar x86_64 2:1.35-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.9 MiB unzip x86_64 6.0-67.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 386.3 KiB util-linux x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.5 MiB which x86_64 2.23-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 83.5 KiB xz x86_64 1:5.8.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 MiB Installing dependencies: add-determinism x86_64 0.6.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.4 MiB alternatives x86_64 1.33-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 62.2 KiB ansible-srpm-macros noarch 1-18.1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 35.7 KiB audit-libs x86_64 4.1.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 378.8 KiB binutils x86_64 2.45-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 26.5 MiB build-reproducibility-srpm-macros noarch 0.6.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 735.0 B bzip2-libs x86_64 1.0.8-21.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 80.6 KiB ca-certificates noarch 2024.2.69_v8.0.401-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.6 MiB coreutils-common x86_64 9.7-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.3 MiB crypto-policies noarch 20250714-3.gitcd6043a.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 146.9 KiB curl x86_64 8.15.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 473.6 KiB cyrus-sasl-lib x86_64 2.1.28-33.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB debugedit x86_64 5.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 197.8 KiB dwz x86_64 0.16-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 287.1 KiB ed x86_64 1.22-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 147.1 KiB efi-srpm-macros noarch 6-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 40.1 KiB elfutils x86_64 0.193-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.9 MiB elfutils-debuginfod-client x86_64 0.193-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 83.9 KiB elfutils-default-yama-scope noarch 0.193-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 KiB elfutils-libelf x86_64 0.193-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB elfutils-libs x86_64 0.193-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 683.4 KiB fedora-gpg-keys noarch 43-0.2 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 129.0 KiB fedora-release noarch 43-0.19 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B fedora-release-identity-basic noarch 43-0.19 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 664.0 B fedora-repos noarch 43-0.2 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.9 KiB fedora-repos-rawhide noarch 43-0.2 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 KiB file x86_64 5.46-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 100.2 KiB file-libs x86_64 5.46-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.9 MiB filesystem x86_64 3.18-45.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 112.0 B filesystem-srpm-macros noarch 3.18-45.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 38.2 KiB fonts-srpm-macros noarch 1:2.0.5-23.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 55.8 KiB forge-srpm-macros noarch 0.4.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 38.9 KiB fpc-srpm-macros noarch 1.3-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 144.0 B gdb-minimal x86_64 16.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 13.2 MiB gdbm-libs x86_64 1:1.23-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 129.9 KiB ghc-srpm-macros noarch 1.9.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 779.0 B glibc x86_64 2.41.9000-24.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.7 MiB glibc-common x86_64 2.41.9000-24.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB glibc-gconv-extra x86_64 2.41.9000-24.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 7.2 MiB gmp x86_64 1:6.3.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 811.2 KiB gnat-srpm-macros noarch 6-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 KiB gnupg2 x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.5 MiB gnupg2-dirmngr x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 618.4 KiB gnupg2-gpg-agent x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 671.4 KiB gnupg2-gpgconf x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 250.0 KiB gnupg2-keyboxd x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 201.4 KiB gnupg2-verify x86_64 2.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 348.5 KiB gnutls x86_64 3.8.10-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.8 MiB go-srpm-macros noarch 3.7.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 61.6 KiB gpgverify noarch 2.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.7 KiB ima-evm-utils-libs x86_64 1.6.2-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 60.7 KiB jansson x86_64 2.14-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 89.1 KiB java-srpm-macros noarch 1-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 870.0 B json-c x86_64 0.18-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 82.7 KiB kernel-srpm-macros noarch 1.0-27.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB keyutils-libs x86_64 1.6.3-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 54.3 KiB krb5-libs x86_64 1.21.3-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB libacl x86_64 2.3.2-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 35.9 KiB libarchive x86_64 3.8.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 951.1 KiB libassuan x86_64 2.5.7-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 163.8 KiB libattr x86_64 2.5.2-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 24.4 KiB libblkid x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 262.4 KiB libbrotli x86_64 1.1.0-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 833.3 KiB libcap x86_64 2.76-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 209.1 KiB libcap-ng x86_64 0.8.5-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 68.9 KiB libcom_err x86_64 1.47.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 63.1 KiB libcurl x86_64 8.15.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 903.2 KiB libeconf x86_64 0.7.9-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 64.9 KiB libevent x86_64 2.1.12-16.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 883.1 KiB libfdisk x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 380.4 KiB libffi x86_64 3.5.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 83.6 KiB libfsverity x86_64 1.6-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 28.5 KiB libgcc x86_64 15.1.1-5.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 266.6 KiB libgcrypt x86_64 1.11.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB libgomp x86_64 15.1.1-5.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 539.1 KiB libgpg-error x86_64 1.55-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 915.3 KiB libidn2 x86_64 2.3.8-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 552.5 KiB libksba x86_64 1.6.7-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 398.5 KiB liblastlog2 x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 33.9 KiB libmount x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 372.7 KiB libnghttp2 x86_64 1.66.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 162.2 KiB libpkgconf x86_64 2.3.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 78.1 KiB libpsl x86_64 0.21.5-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 76.4 KiB libselinux x86_64 3.9-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 193.1 KiB libsemanage x86_64 3.9-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 308.4 KiB libsepol x86_64 3.9-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 822.0 KiB libsmartcols x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 180.5 KiB libssh x86_64 0.11.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 566.7 KiB libssh-config noarch 0.11.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 277.0 B libstdc++ x86_64 15.1.1-5.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.8 MiB libtasn1 x86_64 4.20.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 176.3 KiB libtool-ltdl x86_64 2.5.4-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 70.1 KiB libunistring x86_64 1.1-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB libusb1 x86_64 1.0.28-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 171.0 KiB libuuid x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 37.4 KiB libverto x86_64 0.3.2-11.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 25.4 KiB libxcrypt x86_64 4.4.38-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 284.5 KiB libxml2 x86_64 2.12.10-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB libzstd x86_64 1.5.7-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 799.9 KiB lua-libs x86_64 5.4.8-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 280.8 KiB lua-srpm-macros noarch 1-16.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 KiB lz4-libs x86_64 1.10.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 161.4 KiB mpfr x86_64 4.2.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 832.8 KiB ncurses-base noarch 6.5-7.20250614.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 328.1 KiB ncurses-libs x86_64 6.5-7.20250614.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 946.3 KiB nettle x86_64 3.10.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 790.6 KiB npth x86_64 1.8-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 49.6 KiB ocaml-srpm-macros noarch 11-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB openblas-srpm-macros noarch 2-20.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 112.0 B openldap x86_64 2.6.10-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 655.8 KiB openssl-libs x86_64 1:3.5.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.9 MiB p11-kit x86_64 0.25.5-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 MiB p11-kit-trust x86_64 0.25.5-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 395.5 KiB package-notes-srpm-macros noarch 0.5-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 KiB pam-libs x86_64 1.7.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 126.8 KiB pcre2 x86_64 10.45-1.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 697.7 KiB pcre2-syntax noarch 10.45-1.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 273.9 KiB perl-srpm-macros noarch 1-60.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 861.0 B pkgconf x86_64 2.3.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 88.5 KiB pkgconf-m4 noarch 2.3.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 989.0 B popt x86_64 1.19-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 132.8 KiB publicsuffix-list-dafsa noarch 20250616-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 69.1 KiB pyproject-srpm-macros noarch 1.18.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 KiB python-srpm-macros noarch 3.14-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 51.5 KiB qt5-srpm-macros noarch 5.15.17-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 500.0 B qt6-srpm-macros noarch 6.9.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 464.0 B readline x86_64 8.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 511.7 KiB rpm x86_64 5.99.91-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.0 MiB rpm-build-libs x86_64 5.99.91-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 268.4 KiB rpm-libs x86_64 5.99.91-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 933.8 KiB rpm-sequoia x86_64 1.9.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.5 MiB rpm-sign-libs x86_64 5.99.91-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 39.7 KiB rust-srpm-macros noarch 26.3-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.8 KiB setup noarch 2.15.0-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 725.0 KiB sqlite-libs x86_64 3.50.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB systemd-libs x86_64 257.7-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.2 MiB systemd-standalone-sysusers x86_64 257.7-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 277.3 KiB tpm2-tss x86_64 4.1.3-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB tree-sitter-srpm-macros noarch 0.4.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 8.3 KiB util-linux-core x86_64 2.41.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB xxhash-libs x86_64 0.8.3-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 90.2 KiB xz-libs x86_64 1:5.8.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 217.8 KiB zig-srpm-macros noarch 1-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 KiB zip x86_64 3.0-44.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 694.5 KiB zlib-ng-compat x86_64 2.2.4-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 137.6 KiB zstd x86_64 1.5.7-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 169 packages Total size of inbound packages is 58 MiB. Need to download 58 MiB. After this operation, 198 MiB extra will be used (install 198 MiB, remove 0 B). [ 1/169] bzip2-0:1.0.8-21.fc43.x86_64 100% | 382.4 KiB/s | 51.6 KiB | 00m00s [ 2/169] cpio-0:2.15-6.fc43.x86_64 100% | 3.7 MiB/s | 286.6 KiB | 00m00s [ 3/169] coreutils-0:9.7-5.fc43.x86_64 100% | 5.2 MiB/s | 1.1 MiB | 00m00s [ 4/169] bash-0:5.3.0-2.fc43.x86_64 100% | 7.9 MiB/s | 1.8 MiB | 00m00s [ 5/169] diffutils-0:3.12-3.fc43.x86_6 100% | 8.7 MiB/s | 384.1 KiB | 00m00s [ 6/169] fedora-release-common-0:43-0. 100% | 635.5 KiB/s | 25.4 KiB | 00m00s [ 7/169] findutils-1:4.10.0-6.fc43.x86 100% | 11.0 MiB/s | 541.2 KiB | 00m00s [ 8/169] glibc-minimal-langpack-0:2.41 100% | 862.5 KiB/s | 35.4 KiB | 00m00s [ 9/169] gawk-0:5.3.2-2.fc43.x86_64 100% | 21.4 MiB/s | 1.1 MiB | 00m00s [ 10/169] grep-0:3.12-2.fc43.x86_64 100% | 6.0 MiB/s | 289.1 KiB | 00m00s [ 11/169] gzip-0:1.13-4.fc43.x86_64 100% | 4.1 MiB/s | 164.0 KiB | 00m00s [ 12/169] info-0:7.2-4.fc43.x86_64 100% | 4.5 MiB/s | 182.8 KiB | 00m00s [ 13/169] patch-0:2.8-2.fc43.x86_64 100% | 2.8 MiB/s | 113.8 KiB | 00m00s [ 14/169] redhat-rpm-config-0:343-10.fc 100% | 1.9 MiB/s | 73.1 KiB | 00m00s [ 15/169] rpm-build-0:5.99.91-2.fc43.x8 100% | 3.1 MiB/s | 127.5 KiB | 00m00s [ 16/169] sed-0:4.9-5.fc43.x86_64 100% | 6.3 MiB/s | 308.6 KiB | 00m00s [ 17/169] shadow-utils-2:4.18.0-3.fc43. 100% | 7.1 MiB/s | 1.2 MiB | 00m00s [ 18/169] tar-2:1.35-6.fc43.x86_64 100% | 4.8 MiB/s | 847.8 KiB | 00m00s [ 19/169] which-0:2.23-3.fc43.x86_64 100% | 802.5 KiB/s | 41.7 KiB | 00m00s [ 20/169] util-linux-0:2.41.1-13.fc43.x 100% | 11.8 MiB/s | 1.1 MiB | 00m00s [ 21/169] unzip-0:6.0-67.fc43.x86_64 100% | 798.5 KiB/s | 183.7 KiB | 00m00s [ 22/169] xz-1:5.8.1-2.fc43.x86_64 100% | 9.2 MiB/s | 556.6 KiB | 00m00s [ 23/169] xz-libs-1:5.8.1-2.fc43.x86_64 100% | 2.9 MiB/s | 112.9 KiB | 00m00s [ 24/169] audit-libs-0:4.1.0-3.fc43.x86 100% | 3.1 MiB/s | 138.4 KiB | 00m00s [ 25/169] glibc-0:2.41.9000-24.fc43.x86 100% | 25.2 MiB/s | 2.2 MiB | 00m00s [ 26/169] libblkid-0:2.41.1-13.fc43.x86 100% | 3.1 MiB/s | 122.9 KiB | 00m00s [ 27/169] libcap-ng-0:0.8.5-6.fc43.x86_ 100% | 844.3 KiB/s | 32.1 KiB | 00m00s [ 28/169] libfdisk-0:2.41.1-13.fc43.x86 100% | 4.0 MiB/s | 160.8 KiB | 00m00s [ 29/169] filesystem-0:3.18-45.fc43.x86 100% | 11.1 MiB/s | 1.3 MiB | 00m00s [ 30/169] libgcc-0:15.1.1-5.fc43.1.x86_ 100% | 3.2 MiB/s | 130.2 KiB | 00m00s [ 31/169] liblastlog2-0:2.41.1-13.fc43. 100% | 599.1 KiB/s | 22.8 KiB | 00m00s [ 32/169] libmount-0:2.41.1-13.fc43.x86 100% | 3.9 MiB/s | 162.1 KiB | 00m00s [ 33/169] libselinux-0:3.9-2.fc43.x86_6 100% | 2.5 MiB/s | 97.2 KiB | 00m00s [ 34/169] libsmartcols-0:2.41.1-13.fc43 100% | 1.9 MiB/s | 83.6 KiB | 00m00s [ 35/169] libuuid-0:2.41.1-13.fc43.x86_ 100% | 517.6 KiB/s | 25.9 KiB | 00m00s [ 36/169] pam-libs-0:1.7.1-3.fc43.x86_6 100% | 1.2 MiB/s | 57.5 KiB | 00m00s [ 37/169] readline-0:8.3-2.fc43.x86_64 100% | 5.1 MiB/s | 224.6 KiB | 00m00s [ 38/169] systemd-libs-0:257.7-1.fc43.x 100% | 16.4 MiB/s | 789.7 KiB | 00m00s [ 39/169] util-linux-core-0:2.41.1-13.f 100% | 8.8 MiB/s | 534.7 KiB | 00m00s [ 40/169] ncurses-libs-0:6.5-7.20250614 100% | 2.2 MiB/s | 332.7 KiB | 00m00s [ 41/169] zlib-ng-compat-0:2.2.4-3.fc43 100% | 2.0 MiB/s | 79.3 KiB | 00m00s [ 42/169] libacl-0:2.3.2-4.fc43.x86_64 100% | 656.2 KiB/s | 24.3 KiB | 00m00s [ 43/169] bzip2-libs-0:1.0.8-21.fc43.x8 100% | 1.1 MiB/s | 43.1 KiB | 00m00s [ 44/169] libcap-0:2.76-2.fc43.x86_64 100% | 2.2 MiB/s | 86.9 KiB | 00m00s [ 45/169] libeconf-0:0.7.9-2.fc43.x86_6 100% | 902.8 KiB/s | 35.2 KiB | 00m00s [ 46/169] libsemanage-0:3.9-2.fc43.x86_ 100% | 3.1 MiB/s | 123.4 KiB | 00m00s [ 47/169] libxcrypt-0:4.4.38-8.fc43.x86 100% | 3.3 MiB/s | 127.0 KiB | 00m00s [ 48/169] setup-0:2.15.0-26.fc43.noarch 100% | 3.7 MiB/s | 151.2 KiB | 00m00s [ 49/169] debugedit-0:5.2-2.fc43.x86_64 100% | 1.7 MiB/s | 80.6 KiB | 00m00s [ 50/169] elfutils-0:0.193-3.fc43.x86_6 100% | 8.8 MiB/s | 566.1 KiB | 00m00s [ 51/169] elfutils-libelf-0:0.193-3.fc4 100% | 4.1 MiB/s | 207.8 KiB | 00m00s [ 52/169] file-0:5.46-6.fc43.x86_64 100% | 994.6 KiB/s | 48.7 KiB | 00m00s [ 53/169] libarchive-0:3.8.1-3.fc43.x86 100% | 5.9 MiB/s | 421.1 KiB | 00m00s [ 54/169] pkgconf-pkg-config-0:2.3.0-3. 100% | 174.7 KiB/s | 9.6 KiB | 00m00s [ 55/169] binutils-0:2.45-1.fc43.x86_64 100% | 22.9 MiB/s | 5.8 MiB | 00m00s [ 56/169] libstdc++-0:15.1.1-5.fc43.1.x 100% | 8.1 MiB/s | 917.9 KiB | 00m00s [ 57/169] rpm-build-libs-0:5.99.91-2.fc 100% | 2.5 MiB/s | 127.4 KiB | 00m00s [ 58/169] rpm-0:5.99.91-2.fc43.x86_64 100% | 7.3 MiB/s | 532.9 KiB | 00m00s [ 59/169] rpm-libs-0:5.99.91-2.fc43.x86 100% | 6.6 MiB/s | 399.6 KiB | 00m00s [ 60/169] zstd-0:1.5.7-2.fc43.x86_64 100% | 7.9 MiB/s | 485.9 KiB | 00m00s [ 61/169] curl-0:8.15.0-2.fc43.x86_64 100% | 5.6 MiB/s | 233.7 KiB | 00m00s [ 62/169] ansible-srpm-macros-0:1-18.1. 100% | 442.4 KiB/s | 19.9 KiB | 00m00s [ 63/169] popt-0:1.19-9.fc43.x86_64 100% | 250.5 KiB/s | 59.1 KiB | 00m00s [ 64/169] dwz-0:0.16-2.fc43.x86_64 100% | 2.6 MiB/s | 135.5 KiB | 00m00s [ 65/169] glibc-gconv-extra-0:2.41.9000 100% | 9.6 MiB/s | 1.5 MiB | 00m00s [ 66/169] efi-srpm-macros-0:6-4.fc43.no 100% | 457.0 KiB/s | 22.4 KiB | 00m00s [ 67/169] filesystem-srpm-macros-0:3.18 100% | 575.2 KiB/s | 25.9 KiB | 00m00s [ 68/169] build-reproducibility-srpm-ma 100% | 83.9 KiB/s | 11.8 KiB | 00m00s [ 69/169] fonts-srpm-macros-1:2.0.5-23. 100% | 590.7 KiB/s | 27.2 KiB | 00m00s [ 70/169] forge-srpm-macros-0:0.4.0-3.f 100% | 467.2 KiB/s | 20.1 KiB | 00m00s [ 71/169] fpc-srpm-macros-0:1.3-15.fc43 100% | 183.5 KiB/s | 7.9 KiB | 00m00s [ 72/169] ghc-srpm-macros-0:1.9.2-3.fc4 100% | 194.4 KiB/s | 8.7 KiB | 00m00s [ 73/169] gnat-srpm-macros-0:6-8.fc43.n 100% | 192.9 KiB/s | 8.5 KiB | 00m00s [ 74/169] go-srpm-macros-0:3.7.0-4.fc43 100% | 598.7 KiB/s | 28.1 KiB | 00m00s [ 75/169] java-srpm-macros-0:1-7.fc43.n 100% | 184.7 KiB/s | 7.9 KiB | 00m00s [ 76/169] kernel-srpm-macros-0:1.0-27.f 100% | 217.6 KiB/s | 8.9 KiB | 00m00s [ 77/169] lua-srpm-macros-0:1-16.fc43.n 100% | 236.7 KiB/s | 8.8 KiB | 00m00s [ 78/169] ocaml-srpm-macros-0:11-2.fc43 100% | 243.7 KiB/s | 9.3 KiB | 00m00s [ 79/169] openblas-srpm-macros-0:2-20.f 100% | 205.3 KiB/s | 7.6 KiB | 00m00s [ 80/169] package-notes-srpm-macros-0:0 100% | 242.8 KiB/s | 9.0 KiB | 00m00s [ 81/169] perl-srpm-macros-0:1-60.fc43. 100% | 224.0 KiB/s | 8.3 KiB | 00m00s [ 82/169] pyproject-srpm-macros-0:1.18. 100% | 361.3 KiB/s | 13.4 KiB | 00m00s [ 83/169] python-srpm-macros-0:3.14-4.f 100% | 614.4 KiB/s | 23.3 KiB | 00m00s [ 84/169] qt5-srpm-macros-0:5.15.17-2.f 100% | 234.1 KiB/s | 8.7 KiB | 00m00s [ 85/169] qt6-srpm-macros-0:6.9.1-2.fc4 100% | 252.2 KiB/s | 9.3 KiB | 00m00s [ 86/169] rust-srpm-macros-0:26.3-5.fc4 100% | 302.2 KiB/s | 11.2 KiB | 00m00s [ 87/169] tree-sitter-srpm-macros-0:0.4 100% | 360.8 KiB/s | 13.4 KiB | 00m00s [ 88/169] zig-srpm-macros-0:1-5.fc43.no 100% | 222.0 KiB/s | 8.4 KiB | 00m00s [ 89/169] zip-0:3.0-44.fc43.x86_64 100% | 6.4 MiB/s | 261.6 KiB | 00m00s [ 90/169] pkgconf-0:2.3.0-3.fc43.x86_64 100% | 1.1 MiB/s | 44.6 KiB | 00m00s [ 91/169] pkgconf-m4-0:2.3.0-3.fc43.noa 100% | 376.0 KiB/s | 13.9 KiB | 00m00s [ 92/169] libpkgconf-0:2.3.0-3.fc43.x86 100% | 971.7 KiB/s | 37.9 KiB | 00m00s [ 93/169] ed-0:1.22-2.fc43.x86_64 100% | 2.1 MiB/s | 83.2 KiB | 00m00s [ 94/169] libattr-0:2.5.2-6.fc43.x86_64 100% | 457.8 KiB/s | 17.9 KiB | 00m00s [ 95/169] ncurses-base-0:6.5-7.20250614 100% | 1.4 MiB/s | 63.7 KiB | 00m00s [ 96/169] pcre2-0:10.45-1.fc43.1.x86_64 100% | 2.0 MiB/s | 261.9 KiB | 00m00s [ 97/169] libsepol-0:3.9-2.fc43.x86_64 100% | 1.9 MiB/s | 345.4 KiB | 00m00s [ 98/169] sqlite-libs-0:3.50.2-2.fc43.x 100% | 4.9 MiB/s | 760.5 KiB | 00m00s [ 99/169] lz4-libs-0:1.10.0-3.fc43.x86_ 100% | 1.7 MiB/s | 78.0 KiB | 00m00s [100/169] libzstd-0:1.5.7-2.fc43.x86_64 100% | 3.6 MiB/s | 314.6 KiB | 00m00s [101/169] libxml2-0:2.12.10-3.fc43.x86_ 100% | 5.1 MiB/s | 691.9 KiB | 00m00s [102/169] glibc-common-0:2.41.9000-24.f 100% | 4.0 MiB/s | 317.4 KiB | 00m00s [103/169] gmp-1:6.3.0-4.fc43.x86_64 100% | 4.2 MiB/s | 319.3 KiB | 00m00s [104/169] mpfr-0:4.2.2-2.fc43.x86_64 100% | 4.4 MiB/s | 347.0 KiB | 00m00s [105/169] fedora-repos-0:43-0.2.noarch 100% | 249.4 KiB/s | 9.2 KiB | 00m00s [106/169] openssl-libs-1:3.5.1-2.fc43.x 100% | 9.9 MiB/s | 2.6 MiB | 00m00s [107/169] elfutils-debuginfod-client-0: 100% | 1.1 MiB/s | 46.8 KiB | 00m00s [108/169] file-libs-0:5.46-6.fc43.x86_6 100% | 5.6 MiB/s | 849.5 KiB | 00m00s [109/169] elfutils-libs-0:0.193-3.fc43. 100% | 4.6 MiB/s | 269.7 KiB | 00m00s [110/169] alternatives-0:1.33-2.fc43.x8 100% | 1.0 MiB/s | 40.7 KiB | 00m00s [111/169] add-determinism-0:0.6.0-2.fc4 100% | 8.2 MiB/s | 919.3 KiB | 00m00s [112/169] jansson-0:2.14-3.fc43.x86_64 100% | 1.2 MiB/s | 45.3 KiB | 00m00s [113/169] lua-libs-0:5.4.8-2.fc43.x86_6 100% | 3.3 MiB/s | 131.7 KiB | 00m00s [114/169] libgomp-0:15.1.1-5.fc43.1.x86 100% | 4.2 MiB/s | 368.1 KiB | 00m00s [115/169] rpm-sequoia-0:1.9.0-2.fc43.x8 100% | 7.7 MiB/s | 933.3 KiB | 00m00s [116/169] rpm-sign-libs-0:5.99.91-2.fc4 100% | 573.6 KiB/s | 28.1 KiB | 00m00s [117/169] pcre2-syntax-0:10.45-1.fc43.1 100% | 3.5 MiB/s | 161.7 KiB | 00m00s [118/169] coreutils-common-0:9.7-5.fc43 100% | 6.4 MiB/s | 2.1 MiB | 00m00s [119/169] crypto-policies-0:20250714-3. 100% | 1.8 MiB/s | 74.8 KiB | 00m00s [120/169] fedora-gpg-keys-0:43-0.2.noar 100% | 3.2 MiB/s | 125.8 KiB | 00m00s [121/169] fedora-repos-rawhide-0:43-0.2 100% | 237.9 KiB/s | 8.8 KiB | 00m00s [122/169] elfutils-default-yama-scope-0 100% | 335.8 KiB/s | 12.4 KiB | 00m00s [123/169] json-c-0:0.18-7.fc43.x86_64 100% | 1.2 MiB/s | 45.0 KiB | 00m00s [124/169] libffi-0:3.5.1-2.fc43.x86_64 100% | 1.0 MiB/s | 40.9 KiB | 00m00s [125/169] ca-certificates-0:2024.2.69_v 100% | 6.1 MiB/s | 944.0 KiB | 00m00s [126/169] p11-kit-0:0.25.5-9.fc43.x86_6 100% | 3.9 MiB/s | 474.4 KiB | 00m00s [127/169] p11-kit-trust-0:0.25.5-9.fc43 100% | 919.0 KiB/s | 132.3 KiB | 00m00s [128/169] ima-evm-utils-libs-0:1.6.2-6. 100% | 651.6 KiB/s | 29.3 KiB | 00m00s [129/169] libfsverity-0:1.6-3.fc43.x86_ 100% | 351.5 KiB/s | 18.6 KiB | 00m00s [130/169] gpgverify-0:2.2-3.fc43.noarch 100% | 198.3 KiB/s | 11.1 KiB | 00m00s [131/169] libtasn1-0:4.20.0-2.fc43.x86_ 100% | 1.3 MiB/s | 74.5 KiB | 00m00s [132/169] tpm2-tss-0:4.1.3-8.fc43.x86_6 100% | 2.6 MiB/s | 421.3 KiB | 00m00s [133/169] libassuan-0:2.5.7-4.fc43.x86_ 100% | 1.7 MiB/s | 67.4 KiB | 00m00s [134/169] gnupg2-verify-0:2.4.8-4.fc43. 100% | 877.7 KiB/s | 171.2 KiB | 00m00s [135/169] libgcrypt-0:1.11.1-2.fc43.x86 100% | 4.3 MiB/s | 595.8 KiB | 00m00s [136/169] libgpg-error-0:1.55-2.fc43.x8 100% | 2.5 MiB/s | 239.1 KiB | 00m00s [137/169] gnupg2-0:2.4.8-4.fc43.x86_64 100% | 3.0 MiB/s | 1.6 MiB | 00m01s [138/169] npth-0:1.8-3.fc43.x86_64 100% | 693.4 KiB/s | 25.7 KiB | 00m00s [139/169] gnupg2-gpg-agent-0:2.4.8-4.fc 100% | 3.6 MiB/s | 272.9 KiB | 00m00s [140/169] gnupg2-gpgconf-0:2.4.8-4.fc43 100% | 2.0 MiB/s | 115.0 KiB | 00m00s [141/169] gnupg2-dirmngr-0:2.4.8-4.fc43 100% | 2.4 MiB/s | 274.6 KiB | 00m00s [142/169] libusb1-0:1.0.28-2.fc43.x86_6 100% | 1.9 MiB/s | 79.3 KiB | 00m00s [143/169] gnupg2-keyboxd-0:2.4.8-4.fc43 100% | 1.6 MiB/s | 94.7 KiB | 00m00s [144/169] libksba-0:1.6.7-4.fc43.x86_64 100% | 1.9 MiB/s | 160.4 KiB | 00m00s [145/169] openldap-0:2.6.10-3.fc43.x86_ 100% | 3.2 MiB/s | 259.1 KiB | 00m00s [146/169] libevent-0:2.1.12-16.fc43.x86 100% | 3.2 MiB/s | 257.8 KiB | 00m00s [147/169] libtool-ltdl-0:2.5.4-7.fc43.x 100% | 862.7 KiB/s | 36.2 KiB | 00m00s [148/169] libidn2-0:2.3.8-2.fc43.x86_64 100% | 2.4 MiB/s | 168.9 KiB | 00m00s [149/169] cyrus-sasl-lib-0:2.1.28-33.fc 100% | 3.1 MiB/s | 787.9 KiB | 00m00s [150/169] gnutls-0:3.8.10-3.fc43.x86_64 100% | 3.7 MiB/s | 1.4 MiB | 00m00s [151/169] libunistring-0:1.1-10.fc43.x8 100% | 3.1 MiB/s | 542.9 KiB | 00m00s [152/169] gdbm-libs-1:1.23-10.fc43.x86_ 100% | 597.5 KiB/s | 56.8 KiB | 00m00s [153/169] fedora-release-0:43-0.19.noar 100% | 358.2 KiB/s | 14.3 KiB | 00m00s [154/169] systemd-standalone-sysusers-0 100% | 2.3 MiB/s | 134.8 KiB | 00m00s [155/169] nettle-0:3.10.1-2.fc43.x86_64 100% | 1.8 MiB/s | 424.2 KiB | 00m00s [156/169] fedora-release-identity-basic 100% | 359.5 KiB/s | 15.1 KiB | 00m00s [157/169] xxhash-libs-0:0.8.3-3.fc43.x8 100% | 620.7 KiB/s | 38.5 KiB | 00m00s [158/169] krb5-libs-0:1.21.3-7.fc43.x86 100% | 3.4 MiB/s | 754.8 KiB | 00m00s [159/169] libcurl-0:8.15.0-2.fc43.x86_6 100% | 1.3 MiB/s | 404.3 KiB | 00m00s [160/169] libbrotli-0:1.1.0-8.fc43.x86_ 100% | 3.6 MiB/s | 339.0 KiB | 00m00s [161/169] libpsl-0:0.21.5-6.fc43.x86_64 100% | 1.6 MiB/s | 65.0 KiB | 00m00s [162/169] libnghttp2-0:1.66.0-2.fc43.x8 100% | 966.7 KiB/s | 72.5 KiB | 00m00s [163/169] keyutils-libs-0:1.6.3-6.fc43. 100% | 783.8 KiB/s | 31.4 KiB | 00m00s [164/169] libssh-0:0.11.2-1.fc43.x86_64 100% | 2.7 MiB/s | 232.8 KiB | 00m00s [165/169] libcom_err-0:1.47.3-2.fc43.x8 100% | 724.1 KiB/s | 26.8 KiB | 00m00s [166/169] libverto-0:0.3.2-11.fc43.x86_ 100% | 544.1 KiB/s | 20.7 KiB | 00m00s [167/169] libssh-config-0:0.11.2-1.fc43 100% | 239.2 KiB/s | 8.9 KiB | 00m00s [168/169] publicsuffix-list-dafsa-0:202 100% | 1.5 MiB/s | 59.2 KiB | 00m00s [169/169] gdb-minimal-0:16.3-4.fc43.x86 100% | 4.0 MiB/s | 4.4 MiB | 00m01s -------------------------------------------------------------------------------- [169/169] Total 100% | 11.1 MiB/s | 58.3 MiB | 00m05s Running transaction [ 1/171] Verify package files 100% | 686.0 B/s | 169.0 B | 00m00s [ 2/171] Prepare transaction 100% | 1.8 KiB/s | 169.0 B | 00m00s [ 3/171] Installing libgcc-0:15.1.1-5. 100% | 131.0 MiB/s | 268.3 KiB | 00m00s [ 4/171] Installing publicsuffix-list- 100% | 68.2 MiB/s | 69.8 KiB | 00m00s [ 5/171] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 6/171] Installing fedora-release-ide 100% | 0.0 B/s | 920.0 B | 00m00s [ 7/171] Installing fedora-repos-rawhi 100% | 2.4 MiB/s | 2.4 KiB | 00m00s [ 8/171] Installing fedora-gpg-keys-0: 100% | 13.2 MiB/s | 175.9 KiB | 00m00s [ 9/171] Installing fedora-repos-0:43- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/171] Installing fedora-release-com 100% | 12.1 MiB/s | 24.8 KiB | 00m00s [ 11/171] Installing fedora-release-0:4 100% | 4.8 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-26.fc43.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-26.fc43.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating group 'bin' with GID 1. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating group 'daemon' with GID 2. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 100. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 12/171] Installing setup-0:2.15.0-26. 100% | 39.6 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/171] Installing filesystem-0:3.18- 100% | 1.3 MiB/s | 212.5 KiB | 00m00s [ 14/171] Installing pcre2-syntax-0:10. 100% | 90.0 MiB/s | 276.4 KiB | 00m00s [ 15/171] Installing coreutils-common-0 100% | 188.2 MiB/s | 11.3 MiB | 00m00s [ 16/171] Installing ncurses-base-0:6.5 100% | 34.5 MiB/s | 353.5 KiB | 00m00s [ 17/171] Installing bash-0:5.3.0-2.fc4 100% | 162.1 MiB/s | 8.4 MiB | 00m00s [ 18/171] Installing glibc-common-0:2.4 100% | 48.6 MiB/s | 1.0 MiB | 00m00s [ 19/171] Installing glibc-gconv-extra- 100% | 123.9 MiB/s | 7.3 MiB | 00m00s [ 20/171] Installing glibc-0:2.41.9000- 100% | 104.6 MiB/s | 6.7 MiB | 00m00s [ 21/171] Installing ncurses-libs-0:6.5 100% | 155.1 MiB/s | 952.8 KiB | 00m00s [ 22/171] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 23/171] Installing zlib-ng-compat-0:2 100% | 135.2 MiB/s | 138.4 KiB | 00m00s [ 24/171] Installing bzip2-libs-0:1.0.8 100% | 79.8 MiB/s | 81.7 KiB | 00m00s [ 25/171] Installing libgpg-error-0:1.5 100% | 42.8 MiB/s | 921.1 KiB | 00m00s [ 26/171] Installing libstdc++-0:15.1.1 100% | 218.8 MiB/s | 2.8 MiB | 00m00s [ 27/171] Installing xz-libs-1:5.8.1-2. 100% | 213.8 MiB/s | 218.9 KiB | 00m00s [ 28/171] Installing libassuan-0:2.5.7- 100% | 161.7 MiB/s | 165.6 KiB | 00m00s [ 29/171] Installing libgcrypt-0:1.11.1 100% | 262.5 MiB/s | 1.6 MiB | 00m00s [ 30/171] Installing readline-0:8.3-2.f 100% | 167.3 MiB/s | 513.9 KiB | 00m00s [ 31/171] Installing libuuid-0:2.41.1-1 100% | 37.6 MiB/s | 38.5 KiB | 00m00s [ 32/171] Installing gmp-1:6.3.0-4.fc43 100% | 158.9 MiB/s | 813.5 KiB | 00m00s [ 33/171] Installing popt-0:1.19-9.fc43 100% | 34.0 MiB/s | 139.4 KiB | 00m00s [ 34/171] Installing npth-0:1.8-3.fc43. 100% | 49.5 MiB/s | 50.7 KiB | 00m00s [ 35/171] Installing libblkid-0:2.41.1- 100% | 128.7 MiB/s | 263.5 KiB | 00m00s [ 36/171] Installing libxcrypt-0:4.4.38 100% | 70.1 MiB/s | 287.2 KiB | 00m00s [ 37/171] Installing sqlite-libs-0:3.50 100% | 252.7 MiB/s | 1.5 MiB | 00m00s [ 38/171] Installing libzstd-0:1.5.7-2. 100% | 156.5 MiB/s | 801.1 KiB | 00m00s [ 39/171] Installing elfutils-libelf-0: 100% | 194.4 MiB/s | 1.2 MiB | 00m00s [ 40/171] Installing gnupg2-gpgconf-0:2 100% | 15.4 MiB/s | 252.0 KiB | 00m00s [ 41/171] Installing libattr-0:2.5.2-6. 100% | 24.8 MiB/s | 25.4 KiB | 00m00s [ 42/171] Installing libacl-0:2.3.2-4.f 100% | 35.9 MiB/s | 36.8 KiB | 00m00s [ 43/171] Installing libtasn1-0:4.20.0- 100% | 173.9 MiB/s | 178.1 KiB | 00m00s [ 44/171] Installing libunistring-0:1.1 100% | 191.9 MiB/s | 1.7 MiB | 00m00s [ 45/171] Installing libidn2-0:2.3.8-2. 100% | 21.8 MiB/s | 558.7 KiB | 00m00s [ 46/171] Installing crypto-policies-0: 100% | 15.3 MiB/s | 172.0 KiB | 00m00s [ 47/171] Installing dwz-0:0.16-2.fc43. 100% | 17.6 MiB/s | 288.5 KiB | 00m00s [ 48/171] Installing gnupg2-verify-0:2. 100% | 24.4 MiB/s | 349.9 KiB | 00m00s [ 49/171] Installing mpfr-0:4.2.2-2.fc4 100% | 135.8 MiB/s | 834.4 KiB | 00m00s [ 50/171] Installing gawk-0:5.3.2-2.fc4 100% | 69.8 MiB/s | 1.8 MiB | 00m00s [ 51/171] Installing libksba-0:1.6.7-4. 100% | 130.6 MiB/s | 401.1 KiB | 00m00s [ 52/171] Installing unzip-0:6.0-67.fc4 100% | 22.4 MiB/s | 389.8 KiB | 00m00s [ 53/171] Installing file-libs-0:5.46-6 100% | 312.0 MiB/s | 11.9 MiB | 00m00s [ 54/171] Installing file-0:5.46-6.fc43 100% | 7.6 MiB/s | 101.7 KiB | 00m00s [ 55/171] Installing libcap-ng-0:0.8.5- 100% | 69.2 MiB/s | 70.8 KiB | 00m00s [ 56/171] Installing audit-libs-0:4.1.0 100% | 124.2 MiB/s | 381.5 KiB | 00m00s [ 57/171] Installing libsmartcols-0:2.4 100% | 177.2 MiB/s | 181.5 KiB | 00m00s [ 58/171] Installing libeconf-0:0.7.9-2 100% | 65.0 MiB/s | 66.5 KiB | 00m00s [ 59/171] Installing pam-libs-0:1.7.1-3 100% | 25.2 MiB/s | 129.0 KiB | 00m00s [ 60/171] Installing libcap-0:2.76-2.fc 100% | 13.1 MiB/s | 214.3 KiB | 00m00s [ 61/171] Installing systemd-libs-0:257 100% | 202.9 MiB/s | 2.2 MiB | 00m00s [ 62/171] Installing libsepol-0:3.9-2.f 100% | 160.7 MiB/s | 822.9 KiB | 00m00s [ 63/171] Installing pcre2-0:10.45-1.fc 100% | 227.6 MiB/s | 699.1 KiB | 00m00s [ 64/171] Installing libselinux-0:3.9-2 100% | 94.9 MiB/s | 194.4 KiB | 00m00s [ 65/171] Installing grep-0:3.12-2.fc43 100% | 43.6 MiB/s | 1.0 MiB | 00m00s [ 66/171] Installing findutils-1:4.10.0 100% | 71.5 MiB/s | 1.9 MiB | 00m00s [ 67/171] Installing sed-0:4.9-5.fc43.x 100% | 38.4 MiB/s | 865.5 KiB | 00m00s [ 68/171] Installing xz-1:5.8.1-2.fc43. 100% | 51.2 MiB/s | 1.3 MiB | 00m00s [ 69/171] Installing libmount-0:2.41.1- 100% | 182.5 MiB/s | 373.8 KiB | 00m00s [ 70/171] Installing lz4-libs-0:1.10.0- 100% | 158.6 MiB/s | 162.5 KiB | 00m00s [ 71/171] Installing alternatives-0:1.3 100% | 4.8 MiB/s | 63.8 KiB | 00m00s [ 72/171] Installing lua-libs-0:5.4.8-2 100% | 137.6 MiB/s | 281.9 KiB | 00m00s [ 73/171] Installing json-c-0:0.18-7.fc 100% | 82.0 MiB/s | 84.0 KiB | 00m00s [ 74/171] Installing libffi-0:3.5.1-2.f 100% | 27.7 MiB/s | 85.0 KiB | 00m00s [ 75/171] Installing p11-kit-0:0.25.5-9 100% | 72.8 MiB/s | 2.2 MiB | 00m00s [ 76/171] Installing p11-kit-trust-0:0. 100% | 10.2 MiB/s | 397.1 KiB | 00m00s [ 77/171] Installing openssl-libs-1:3.5 100% | 207.0 MiB/s | 8.9 MiB | 00m00s [ 78/171] Installing coreutils-0:9.7-5. 100% | 78.9 MiB/s | 5.4 MiB | 00m00s [ 79/171] Installing ca-certificates-0: 100% | 1.1 MiB/s | 2.4 MiB | 00m02s [ 80/171] Installing gzip-0:1.13-4.fc43 100% | 22.7 MiB/s | 394.4 KiB | 00m00s [ 81/171] Installing rpm-sequoia-0:1.9. 100% | 247.8 MiB/s | 2.5 MiB | 00m00s [ 82/171] Installing libfsverity-0:1.6- 100% | 28.8 MiB/s | 29.5 KiB | 00m00s [ 83/171] Installing libevent-0:2.1.12- 100% | 216.5 MiB/s | 886.8 KiB | 00m00s [ 84/171] Installing zstd-0:1.5.7-2.fc4 100% | 90.0 MiB/s | 1.7 MiB | 00m00s [ 85/171] Installing util-linux-core-0: 100% | 61.7 MiB/s | 1.5 MiB | 00m00s [ 86/171] Installing tar-2:1.35-6.fc43. 100% | 113.8 MiB/s | 3.0 MiB | 00m00s [ 87/171] Installing libsemanage-0:3.9- 100% | 151.5 MiB/s | 310.2 KiB | 00m00s [ 88/171] Installing systemd-standalone 100% | 19.4 MiB/s | 277.8 KiB | 00m00s [ 89/171] Installing rpm-libs-0:5.99.91 100% | 182.7 MiB/s | 935.3 KiB | 00m00s [ 90/171] Installing libusb1-0:1.0.28-2 100% | 7.3 MiB/s | 172.7 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [ 91/171] Installing tpm2-tss-0:4.1.3-8 100% | 157.2 MiB/s | 1.6 MiB | 00m00s [ 92/171] Installing ima-evm-utils-libs 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [ 93/171] Installing gnupg2-gpg-agent-0 100% | 18.3 MiB/s | 675.4 KiB | 00m00s [ 94/171] Installing zip-0:3.0-44.fc43. 100% | 37.9 MiB/s | 698.4 KiB | 00m00s [ 95/171] Installing gnupg2-keyboxd-0:2 100% | 10.4 MiB/s | 202.7 KiB | 00m00s [ 96/171] Installing libpsl-0:0.21.5-6. 100% | 75.7 MiB/s | 77.5 KiB | 00m00s [ 97/171] Installing liblastlog2-0:2.41 100% | 1.7 MiB/s | 35.8 KiB | 00m00s [ 98/171] Installing libfdisk-0:2.41.1- 100% | 124.2 MiB/s | 381.6 KiB | 00m00s [ 99/171] Installing nettle-0:3.10.1-2. 100% | 155.0 MiB/s | 793.7 KiB | 00m00s [100/171] Installing gnutls-0:3.8.10-3. 100% | 225.8 MiB/s | 3.8 MiB | 00m00s [101/171] Installing libxml2-0:2.12.10- 100% | 77.5 MiB/s | 1.7 MiB | 00m00s [102/171] Installing libarchive-0:3.8.1 100% | 186.1 MiB/s | 953.1 KiB | 00m00s [103/171] Installing bzip2-0:1.0.8-21.f 100% | 7.0 MiB/s | 99.8 KiB | 00m00s [104/171] Installing add-determinism-0: 100% | 106.2 MiB/s | 2.4 MiB | 00m00s [105/171] Installing build-reproducibil 100% | 1.0 MiB/s | 1.0 KiB | 00m00s [106/171] Installing cpio-0:2.15-6.fc43 100% | 57.9 MiB/s | 1.1 MiB | 00m00s [107/171] Installing diffutils-0:3.12-3 100% | 71.0 MiB/s | 1.6 MiB | 00m00s [108/171] Installing libpkgconf-0:2.3.0 100% | 38.7 MiB/s | 79.2 KiB | 00m00s [109/171] Installing pkgconf-0:2.3.0-3. 100% | 5.9 MiB/s | 91.0 KiB | 00m00s [110/171] Installing ed-0:1.22-2.fc43.x 100% | 10.4 MiB/s | 149.4 KiB | 00m00s [111/171] Installing patch-0:2.8-2.fc43 100% | 15.6 MiB/s | 224.3 KiB | 00m00s [112/171] Installing jansson-0:2.14-3.f 100% | 44.2 MiB/s | 90.5 KiB | 00m00s [113/171] Installing libgomp-0:15.1.1-5 100% | 176.0 MiB/s | 540.5 KiB | 00m00s [114/171] Installing libtool-ltdl-0:2.5 100% | 69.6 MiB/s | 71.2 KiB | 00m00s [115/171] Installing gdbm-libs-1:1.23-1 100% | 64.2 MiB/s | 131.6 KiB | 00m00s [116/171] Installing cyrus-sasl-lib-0:2 100% | 99.8 MiB/s | 2.3 MiB | 00m00s [117/171] Installing openldap-0:2.6.10- 100% | 128.8 MiB/s | 659.6 KiB | 00m00s [118/171] Installing gnupg2-dirmngr-0:2 100% | 17.3 MiB/s | 621.1 KiB | 00m00s [119/171] Installing gnupg2-0:2.4.8-4.f 100% | 139.4 MiB/s | 6.6 MiB | 00m00s [120/171] Installing rpm-sign-libs-0:5. 100% | 13.2 MiB/s | 40.6 KiB | 00m00s [121/171] Installing gpgverify-0:2.2-3. 100% | 9.2 MiB/s | 9.4 KiB | 00m00s [122/171] Installing xxhash-libs-0:0.8. 100% | 89.4 MiB/s | 91.6 KiB | 00m00s [123/171] Installing libbrotli-0:1.1.0- 100% | 204.0 MiB/s | 835.6 KiB | 00m00s [124/171] Installing libnghttp2-0:1.66. 100% | 159.5 MiB/s | 163.3 KiB | 00m00s [125/171] Installing keyutils-libs-0:1. 100% | 18.1 MiB/s | 55.7 KiB | 00m00s [126/171] Installing libcom_err-0:1.47. 100% | 62.7 MiB/s | 64.2 KiB | 00m00s [127/171] Installing libverto-0:0.3.2-1 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [128/171] Installing krb5-libs-0:1.21.3 100% | 163.7 MiB/s | 2.3 MiB | 00m00s [129/171] Installing libssh-0:0.11.2-1. 100% | 111.1 MiB/s | 568.8 KiB | 00m00s [130/171] Installing libcurl-0:8.15.0-2 100% | 220.8 MiB/s | 904.3 KiB | 00m00s [131/171] Installing curl-0:8.15.0-2.fc 100% | 11.3 MiB/s | 476.3 KiB | 00m00s [132/171] Installing rpm-0:5.99.91-2.fc 100% | 41.5 MiB/s | 2.5 MiB | 00m00s [133/171] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.1 KiB | 00m00s [134/171] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [135/171] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [136/171] Installing tree-sitter-srpm-m 100% | 9.1 MiB/s | 9.3 KiB | 00m00s [137/171] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [138/171] Installing filesystem-srpm-ma 100% | 12.7 MiB/s | 38.9 KiB | 00m00s [139/171] Installing elfutils-default-y 100% | 120.2 KiB/s | 2.0 KiB | 00m00s [140/171] Installing elfutils-libs-0:0. 100% | 167.3 MiB/s | 685.2 KiB | 00m00s [141/171] Installing elfutils-debuginfo 100% | 5.3 MiB/s | 86.2 KiB | 00m00s [142/171] Installing binutils-0:2.45-1. 100% | 174.6 MiB/s | 26.5 MiB | 00m00s [143/171] Installing elfutils-0:0.193-3 100% | 91.2 MiB/s | 2.9 MiB | 00m00s [144/171] Installing gdb-minimal-0:16.3 100% | 184.0 MiB/s | 13.2 MiB | 00m00s [145/171] Installing debugedit-0:5.2-2. 100% | 11.5 MiB/s | 200.5 KiB | 00m00s [146/171] Installing rpm-build-libs-0:5 100% | 131.5 MiB/s | 269.2 KiB | 00m00s [147/171] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [148/171] Installing pkgconf-pkg-config 100% | 136.4 KiB/s | 1.8 KiB | 00m00s [149/171] Installing rust-srpm-macros-0 100% | 5.4 MiB/s | 5.6 KiB | 00m00s [150/171] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 740.0 B | 00m00s [151/171] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [152/171] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [153/171] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [154/171] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [155/171] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [156/171] Installing kernel-srpm-macros 100% | 1.1 MiB/s | 2.3 KiB | 00m00s [157/171] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [158/171] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [159/171] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [160/171] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [161/171] Installing rpm-build-0:5.99.9 100% | 16.9 MiB/s | 294.3 KiB | 00m00s [162/171] Installing pyproject-srpm-mac 100% | 2.4 MiB/s | 2.5 KiB | 00m00s [163/171] Installing redhat-rpm-config- 100% | 37.0 MiB/s | 189.3 KiB | 00m00s [164/171] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [165/171] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [166/171] Installing go-srpm-macros-0:3 100% | 61.3 MiB/s | 62.7 KiB | 00m00s [167/171] Installing python-srpm-macros 100% | 25.8 MiB/s | 52.8 KiB | 00m00s [168/171] Installing util-linux-0:2.41. 100% | 51.0 MiB/s | 3.6 MiB | 00m00s [169/171] Installing shadow-utils-2:4.1 100% | 73.5 MiB/s | 4.0 MiB | 00m00s [170/171] Installing which-0:2.23-3.fc4 100% | 5.6 MiB/s | 85.7 KiB | 00m00s [171/171] Installing info-0:7.2-4.fc43. 100% | 119.3 KiB/s | 354.3 KiB | 00m03s Warning: skipped OpenPGP checks for 169 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.6.0-2.fc43.x86_64 alternatives-1.33-2.fc43.x86_64 ansible-srpm-macros-1-18.1.fc43.noarch audit-libs-4.1.0-3.fc43.x86_64 bash-5.3.0-2.fc43.x86_64 binutils-2.45-1.fc43.x86_64 build-reproducibility-srpm-macros-0.6.0-2.fc43.noarch bzip2-1.0.8-21.fc43.x86_64 bzip2-libs-1.0.8-21.fc43.x86_64 ca-certificates-2024.2.69_v8.0.401-7.fc43.noarch coreutils-9.7-5.fc43.x86_64 coreutils-common-9.7-5.fc43.x86_64 cpio-2.15-6.fc43.x86_64 crypto-policies-20250714-3.gitcd6043a.fc43.noarch curl-8.15.0-2.fc43.x86_64 cyrus-sasl-lib-2.1.28-33.fc43.x86_64 debugedit-5.2-2.fc43.x86_64 diffutils-3.12-3.fc43.x86_64 dwz-0.16-2.fc43.x86_64 ed-1.22-2.fc43.x86_64 efi-srpm-macros-6-4.fc43.noarch elfutils-0.193-3.fc43.x86_64 elfutils-debuginfod-client-0.193-3.fc43.x86_64 elfutils-default-yama-scope-0.193-3.fc43.noarch elfutils-libelf-0.193-3.fc43.x86_64 elfutils-libs-0.193-3.fc43.x86_64 fedora-gpg-keys-43-0.2.noarch fedora-release-43-0.19.noarch fedora-release-common-43-0.19.noarch fedora-release-identity-basic-43-0.19.noarch fedora-repos-43-0.2.noarch fedora-repos-rawhide-43-0.2.noarch file-5.46-6.fc43.x86_64 file-libs-5.46-6.fc43.x86_64 filesystem-3.18-45.fc43.x86_64 filesystem-srpm-macros-3.18-45.fc43.noarch findutils-4.10.0-6.fc43.x86_64 fonts-srpm-macros-2.0.5-23.fc43.noarch forge-srpm-macros-0.4.0-3.fc43.noarch fpc-srpm-macros-1.3-15.fc43.noarch gawk-5.3.2-2.fc43.x86_64 gdb-minimal-16.3-4.fc43.x86_64 gdbm-libs-1.23-10.fc43.x86_64 ghc-srpm-macros-1.9.2-3.fc43.noarch glibc-2.41.9000-24.fc43.x86_64 glibc-common-2.41.9000-24.fc43.x86_64 glibc-gconv-extra-2.41.9000-24.fc43.x86_64 glibc-minimal-langpack-2.41.9000-24.fc43.x86_64 gmp-6.3.0-4.fc43.x86_64 gnat-srpm-macros-6-8.fc43.noarch gnupg2-2.4.8-4.fc43.x86_64 gnupg2-dirmngr-2.4.8-4.fc43.x86_64 gnupg2-gpg-agent-2.4.8-4.fc43.x86_64 gnupg2-gpgconf-2.4.8-4.fc43.x86_64 gnupg2-keyboxd-2.4.8-4.fc43.x86_64 gnupg2-verify-2.4.8-4.fc43.x86_64 gnutls-3.8.10-3.fc43.x86_64 go-srpm-macros-3.7.0-4.fc43.noarch gpgverify-2.2-3.fc43.noarch grep-3.12-2.fc43.x86_64 gzip-1.13-4.fc43.x86_64 ima-evm-utils-libs-1.6.2-6.fc43.x86_64 info-7.2-4.fc43.x86_64 jansson-2.14-3.fc43.x86_64 java-srpm-macros-1-7.fc43.noarch json-c-0.18-7.fc43.x86_64 kernel-srpm-macros-1.0-27.fc43.noarch keyutils-libs-1.6.3-6.fc43.x86_64 krb5-libs-1.21.3-7.fc43.x86_64 libacl-2.3.2-4.fc43.x86_64 libarchive-3.8.1-3.fc43.x86_64 libassuan-2.5.7-4.fc43.x86_64 libattr-2.5.2-6.fc43.x86_64 libblkid-2.41.1-13.fc43.x86_64 libbrotli-1.1.0-8.fc43.x86_64 libcap-2.76-2.fc43.x86_64 libcap-ng-0.8.5-6.fc43.x86_64 libcom_err-1.47.3-2.fc43.x86_64 libcurl-8.15.0-2.fc43.x86_64 libeconf-0.7.9-2.fc43.x86_64 libevent-2.1.12-16.fc43.x86_64 libfdisk-2.41.1-13.fc43.x86_64 libffi-3.5.1-2.fc43.x86_64 libfsverity-1.6-3.fc43.x86_64 libgcc-15.1.1-5.fc43.1.x86_64 libgcrypt-1.11.1-2.fc43.x86_64 libgomp-15.1.1-5.fc43.1.x86_64 libgpg-error-1.55-2.fc43.x86_64 libidn2-2.3.8-2.fc43.x86_64 libksba-1.6.7-4.fc43.x86_64 liblastlog2-2.41.1-13.fc43.x86_64 libmount-2.41.1-13.fc43.x86_64 libnghttp2-1.66.0-2.fc43.x86_64 libpkgconf-2.3.0-3.fc43.x86_64 libpsl-0.21.5-6.fc43.x86_64 libselinux-3.9-2.fc43.x86_64 libsemanage-3.9-2.fc43.x86_64 libsepol-3.9-2.fc43.x86_64 libsmartcols-2.41.1-13.fc43.x86_64 libssh-0.11.2-1.fc43.x86_64 libssh-config-0.11.2-1.fc43.noarch libstdc++-15.1.1-5.fc43.1.x86_64 libtasn1-4.20.0-2.fc43.x86_64 libtool-ltdl-2.5.4-7.fc43.x86_64 libunistring-1.1-10.fc43.x86_64 libusb1-1.0.28-2.fc43.x86_64 libuuid-2.41.1-13.fc43.x86_64 libverto-0.3.2-11.fc43.x86_64 libxcrypt-4.4.38-8.fc43.x86_64 libxml2-2.12.10-3.fc43.x86_64 libzstd-1.5.7-2.fc43.x86_64 lua-libs-5.4.8-2.fc43.x86_64 lua-srpm-macros-1-16.fc43.noarch lz4-libs-1.10.0-3.fc43.x86_64 mpfr-4.2.2-2.fc43.x86_64 ncurses-base-6.5-7.20250614.fc43.noarch ncurses-libs-6.5-7.20250614.fc43.x86_64 nettle-3.10.1-2.fc43.x86_64 npth-1.8-3.fc43.x86_64 ocaml-srpm-macros-11-2.fc43.noarch openblas-srpm-macros-2-20.fc43.noarch openldap-2.6.10-3.fc43.x86_64 openssl-libs-3.5.1-2.fc43.x86_64 p11-kit-0.25.5-9.fc43.x86_64 p11-kit-trust-0.25.5-9.fc43.x86_64 package-notes-srpm-macros-0.5-14.fc43.noarch pam-libs-1.7.1-3.fc43.x86_64 patch-2.8-2.fc43.x86_64 pcre2-10.45-1.fc43.1.x86_64 pcre2-syntax-10.45-1.fc43.1.noarch perl-srpm-macros-1-60.fc43.noarch pkgconf-2.3.0-3.fc43.x86_64 pkgconf-m4-2.3.0-3.fc43.noarch pkgconf-pkg-config-2.3.0-3.fc43.x86_64 popt-1.19-9.fc43.x86_64 publicsuffix-list-dafsa-20250616-2.fc43.noarch pyproject-srpm-macros-1.18.3-2.fc43.noarch python-srpm-macros-3.14-4.fc43.noarch qt5-srpm-macros-5.15.17-2.fc43.noarch qt6-srpm-macros-6.9.1-2.fc43.noarch readline-8.3-2.fc43.x86_64 redhat-rpm-config-343-10.fc43.noarch rpm-5.99.91-2.fc43.x86_64 rpm-build-5.99.91-2.fc43.x86_64 rpm-build-libs-5.99.91-2.fc43.x86_64 rpm-libs-5.99.91-2.fc43.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 rpm-sign-libs-5.99.91-2.fc43.x86_64 rust-srpm-macros-26.3-5.fc43.noarch sed-4.9-5.fc43.x86_64 setup-2.15.0-26.fc43.noarch shadow-utils-4.18.0-3.fc43.x86_64 sqlite-libs-3.50.2-2.fc43.x86_64 systemd-libs-257.7-1.fc43.x86_64 systemd-standalone-sysusers-257.7-1.fc43.x86_64 tar-1.35-6.fc43.x86_64 tpm2-tss-4.1.3-8.fc43.x86_64 tree-sitter-srpm-macros-0.4.2-1.fc43.noarch unzip-6.0-67.fc43.x86_64 util-linux-2.41.1-13.fc43.x86_64 util-linux-core-2.41.1-13.fc43.x86_64 which-2.23-3.fc43.x86_64 xxhash-libs-0.8.3-3.fc43.x86_64 xz-5.8.1-2.fc43.x86_64 xz-libs-5.8.1-2.fc43.x86_64 zig-srpm-macros-1-5.fc43.noarch zip-3.0-44.fc43.x86_64 zlib-ng-compat-2.2.4-3.fc43.x86_64 zstd-1.5.7-2.fc43.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Wrote: /builddir/build/SRPMS/python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1753885010.838369/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-hmpa4x_y/python-dask/python-dask.spec) Config(child) 0 minutes 39 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/python-dask-2025.4.1-3.fc43~bootstrap.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1753885010.838369/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1753885010.838369/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1753885010.838369/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-5.99.91-2.fc43.x86_64 rpm-sequoia-1.9.0-2.fc43.x86_64 dnf5-5.2.15.0-3.fc43.x86_64 dnf5-plugins-5.2.15.0-3.fc43.x86_64 Finish: chroot init Start: build phase for python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Start: build setup for python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Wrote: /builddir/build/SRPMS/python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 38.7 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 15.4 KiB/s | 1.5 KiB | 00m00s fedora 100% | 199.3 KiB/s | 25.9 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-Bottleneck x86_64 1.4.2-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 634.0 KiB python3-aiohttp x86_64 3.11.18-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.8 MiB python3-crick x86_64 0.0.8-6.fc43 copr_base 629.2 KiB python3-devel x86_64 3.14.0~rc1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 MiB python3-fastavro x86_64 1.11.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB python3-graphviz noarch 1:0.20.1-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 341.6 KiB python3-h5py x86_64 3.13.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.6 MiB python3-ipython noarch 8.37.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.7 MiB python3-jsonschema noarch 4.23.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 906.7 KiB python3-matplotlib x86_64 3.10.3-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 31.6 MiB python3-psutil x86_64 7.0.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB python3-requests noarch 2.32.4-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 478.2 KiB python3-snappy noarch 0.7.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 61.7 KiB python3-sqlalchemy x86_64 2.0.42-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 24.2 MiB python3-tables x86_64 3.10.1-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.4 MiB python3-zarr noarch 2.18.7-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.3 MiB Installing dependencies: abattis-cantarell-vf-fonts noarch 0.301-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 192.7 KiB adobe-mappings-cmap noarch 20231115-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 15.2 MiB adobe-mappings-cmap-deprecated noarch 20231115-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 582.1 KiB adobe-mappings-pdf noarch 20190401-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.4 MiB avahi-libs x86_64 0.9~rc2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 171.6 KiB blosc x86_64 1.21.6-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 126.2 KiB blosc2 x86_64 2.19.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 556.8 KiB cairo x86_64 1.18.4-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB cairo-gobject x86_64 1.18.4-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 31.1 KiB cpuinfo x86_64 24.09.26-2.git1e83a2f.fc43.2 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 107.0 KiB cups-filesystem noarch 1:2.4.12-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B cups-libs x86_64 1:2.4.12-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 618.7 KiB dbus-libs x86_64 1:1.16.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 345.5 KiB default-fonts-core-sans noarch 4.2-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.9 KiB dejavu-sans-fonts noarch 2.37-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.5 MiB expat x86_64 2.7.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 294.2 KiB flexiblas x86_64 3.4.5-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 50.4 KiB flexiblas-netlib x86_64 3.4.5-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.9 MiB flexiblas-openblas-openmp x86_64 3.4.5-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 39.2 KiB fontconfig x86_64 2.17.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 765.9 KiB fonts-filesystem noarch 1:2.0.5-23.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 0.0 B freetype x86_64 2.13.3-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 850.2 KiB fribidi x86_64 1.0.16-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 190.3 KiB gd x86_64 2.3.3-19.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 403.6 KiB gdk-pixbuf2 x86_64 2.42.12-10.fc42 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.5 MiB glib2 x86_64 2.85.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 14.7 MiB google-droid-sans-fonts noarch 20200215-23.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.3 MiB google-noto-fonts-common noarch 20250701-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 17.7 KiB google-noto-sans-vf-fonts noarch 20250701-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB gpgme x86_64 1.24.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 587.9 KiB gpgmepp x86_64 1.24.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 429.3 KiB graphite2 x86_64 1.3.14-19.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 191.8 KiB graphviz x86_64 13.1.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.8 MiB graphviz-libs x86_64 13.1.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB gts x86_64 0.7.6-51.20121130.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 636.6 KiB harfbuzz x86_64 11.3.3-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.8 MiB hdf5 x86_64 1.14.6-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.4 MiB jbig2dec-libs x86_64 0.20-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 164.9 KiB jbigkit-libs x86_64 2.1-32.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 113.5 KiB lasi x86_64 1.1.3-17.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 126.7 KiB lcms2 x86_64 2.16-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 433.7 KiB libICE x86_64 1.1.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 194.4 KiB libSM x86_64 1.2.5-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 101.0 KiB libX11 x86_64 1.8.12-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 MiB libX11-common noarch 1.8.12-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB libXau x86_64 1.0.12-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 72.9 KiB libXext x86_64 1.3.6-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 90.0 KiB libXft x86_64 2.3.8-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 164.4 KiB libXpm x86_64 3.5.17-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 148.3 KiB libXrender x86_64 0.9.12-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 46.0 KiB libXt x86_64 1.3.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 429.8 KiB libaec x86_64 1.1.4-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 90.4 KiB libaom x86_64 3.12.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.0 MiB libavif x86_64 1.1.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 214.0 KiB libdatrie x86_64 0.2.13-12.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 53.8 KiB libdav1d x86_64 1.5.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.7 MiB libgfortran x86_64 15.1.1-5.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.4 MiB libgs x86_64 10.05.1-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 23.5 MiB libijs x86_64 0.35-25.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 61.6 KiB libimagequant x86_64 4.0.3-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 690.9 KiB libjpeg-turbo x86_64 3.1.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 799.5 KiB liblerc x86_64 4.0.0-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 624.1 KiB liblzf x86_64 3.6-33.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 49.5 KiB libpaper x86_64 1:2.1.1-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 48.7 KiB libpng x86_64 2:1.6.50-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 237.7 KiB libqhull_r x86_64 1:8.0.2-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 483.3 KiB libquadmath x86_64 15.1.1-5.fc43.1 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 317.9 KiB libraqm x86_64 0.10.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 28.6 KiB librsvg2 x86_64 2.60.0-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.0 MiB libthai x86_64 0.1.29-11.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 783.4 KiB libtiff x86_64 4.7.0-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 619.0 KiB libvmaf x86_64 3.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 827.0 KiB libwebp x86_64 1.6.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 956.6 KiB libxcb x86_64 1.17.0-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB libyuv x86_64 0-0.57.20240704git96bbdb5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 679.7 KiB llhttp x86_64 9.3.0-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 92.6 KiB lzo x86_64 2.10-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 178.9 KiB mpdecimal x86_64 4.0.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 217.2 KiB netpbm x86_64 11.10.00-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 577.6 KiB nspr x86_64 4.36.0-11.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 315.5 KiB nss x86_64 3.113.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 MiB nss-softokn x86_64 3.113.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 MiB nss-softokn-freebl x86_64 3.113.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 848.4 KiB nss-sysinit x86_64 3.113.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 18.1 KiB nss-util x86_64 3.113.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 200.8 KiB openblas x86_64 0.3.29-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 111.7 KiB openblas-openmp x86_64 0.3.29-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 43.7 MiB openjpeg x86_64 2.5.3-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 451.7 KiB pango x86_64 1.56.4-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB pixman x86_64 0.46.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 710.3 KiB poppler x86_64 25.07.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.8 MiB poppler-data noarch 0.4.11-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 12.3 MiB poppler-glib x86_64 25.07.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 633.9 KiB pyproject-rpm-macros noarch 1.18.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 114.5 KiB python-pip-wheel noarch 25.1.1-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB python-rpm-macros noarch 3.14-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 22.8 KiB python3 x86_64 3.14.0~rc1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 28.9 KiB python3-aiohappyeyeballs noarch 2.6.1-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 102.5 KiB python3-aiosignal noarch 1.4.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 24.8 KiB python3-asciitree noarch 0.3.3-33.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.9 KiB python3-asttokens noarch 3.0.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 199.2 KiB python3-attrs noarch 25.3.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 410.7 KiB python3-blosc2 x86_64 3.2.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB python3-cached_property noarch 2.0.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 35.2 KiB python3-cairo x86_64 1.28.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 492.9 KiB python3-cffi x86_64 1.17.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.3 MiB python3-charset-normalizer noarch 3.4.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 354.0 KiB python3-contourpy x86_64 1.3.3-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 856.7 KiB python3-cpuinfo noarch 9.0.0-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 310.8 KiB python3-cramjam x86_64 2.11.0-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.1 MiB python3-cycler noarch 0.11.0-17.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 37.8 KiB python3-dateutil noarch 1:2.9.0.post0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 877.6 KiB python3-decorator noarch 5.2.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 81.8 KiB python3-executing noarch 2.2.0-3.fc43~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 275.9 KiB python3-fasteners noarch 0.19-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 117.2 KiB python3-fonttools x86_64 4.59.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 18.9 MiB python3-frozenlist x86_64 1.6.0-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 147.2 KiB python3-idna noarch 3.10-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 730.6 KiB python3-jedi noarch 0.19.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.7 MiB python3-jsonschema-specifications noarch 2024.10.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 46.2 KiB python3-kiwisolver x86_64 1.4.8-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 154.0 KiB python3-libs x86_64 3.14.0~rc1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 42.9 MiB python3-matplotlib-data-fonts x86_64 3.10.3-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 7.9 MiB python3-matplotlib-inline noarch 0.1.7-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 39.8 KiB python3-msgpack x86_64 1.1.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 335.6 KiB python3-multidict x86_64 6.6.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 323.3 KiB python3-ndindex x86_64 1.10.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB python3-numcodecs x86_64 0.16.1-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB python3-numexpr x86_64 2.10.2-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 795.0 KiB python3-numpy x86_64 1:2.3.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 41.5 MiB python3-numpy-f2py x86_64 1:2.3.2-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.1 MiB python3-olefile noarch 0.47-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 346.5 KiB python3-packaging noarch 25.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 607.5 KiB python3-parso noarch 0.8.4-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 929.3 KiB python3-pexpect noarch 4.9.0-12.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 624.7 KiB python3-pillow x86_64 11.3.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.3 MiB python3-platformdirs noarch 4.2.2-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 177.6 KiB python3-ply noarch 3.11-28.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 575.2 KiB python3-pooch noarch 1.8.2-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 635.3 KiB python3-prompt-toolkit noarch 3.0.41-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.1 MiB python3-propcache x86_64 0.2.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 138.4 KiB python3-ptyprocess noarch 0.7.0-12.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 80.5 KiB python3-pure-eval noarch 0.2.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 106.0 KiB python3-pycparser noarch 2.22-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB python3-pygments noarch 2.19.1-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 11.3 MiB python3-pyparsing noarch 3.1.2-12.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB python3-referencing noarch 0.36.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 336.5 KiB python3-rpds-py x86_64 0.25.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 751.5 KiB python3-rpm-generators noarch 14-13.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 81.7 KiB python3-rpm-macros noarch 3.14-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 6.5 KiB python3-scipy x86_64 1.15.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 70.3 MiB python3-six noarch 1.17.0-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 118.0 KiB python3-stack-data noarch 0.6.3-16.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 223.3 KiB python3-traitlets noarch 5.14.3-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB python3-typing-extensions noarch 4.14.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 531.4 KiB python3-urllib3 noarch 2.4.0-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.1 MiB python3-wcwidth noarch 0.2.13-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 559.4 KiB python3-yarl x86_64 1.18.3-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 550.8 KiB rav1e-libs x86_64 0.7.1-7.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.0 MiB rsvg-pixbuf-loader x86_64 2.60.0-1.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 345.0 KiB shared-mime-info x86_64 2.4-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.2 MiB snappy x86_64 1.2.2-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 71.8 KiB svt-av1-libs x86_64 2.3.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.6 MiB tzdata noarch 2025b-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.6 MiB urw-base35-bookman-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB urw-base35-c059-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB urw-base35-d050000l-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 84.3 KiB urw-base35-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.3 KiB urw-base35-fonts-common noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 37.4 KiB urw-base35-gothic-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB urw-base35-nimbus-mono-ps-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.0 MiB urw-base35-nimbus-roman-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB urw-base35-nimbus-sans-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.4 MiB urw-base35-p052-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB urw-base35-standard-symbols-ps-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 64.9 KiB urw-base35-z003-fonts noarch 20200910-26.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 390.8 KiB xml-common noarch 0.6.3-67.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 78.4 KiB zlib-ng x86_64 2.2.4-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 157.0 KiB Transaction Summary: Installing: 194 packages Total size of inbound packages is 135 MiB. Need to download 135 MiB. After this operation, 577 MiB extra will be used (install 577 MiB, remove 0 B). [ 1/194] python3-Bottleneck-0:1.4.2-4. 100% | 1.0 MiB/s | 170.6 KiB | 00m00s [ 2/194] python3-devel-0:3.14.0~rc1-2. 100% | 2.1 MiB/s | 386.3 KiB | 00m00s [ 3/194] python3-aiohttp-0:3.11.18-3.f 100% | 3.7 MiB/s | 783.1 KiB | 00m00s [ 4/194] python3-crick-0:0.0.8-6.fc43. 100% | 2.4 MiB/s | 216.1 KiB | 00m00s [ 5/194] python3-graphviz-1:0.20.1-13. 100% | 2.2 MiB/s | 96.1 KiB | 00m00s [ 6/194] python3-fastavro-0:1.11.1-4.f 100% | 7.2 MiB/s | 589.5 KiB | 00m00s [ 7/194] python3-jsonschema-0:4.23.0-4 100% | 4.5 MiB/s | 201.9 KiB | 00m00s [ 8/194] python3-ipython-0:8.37.0-4.fc 100% | 16.9 MiB/s | 1.1 MiB | 00m00s [ 9/194] python3-h5py-0:3.13.0-3.fc43. 100% | 17.6 MiB/s | 1.2 MiB | 00m00s [ 10/194] python3-snappy-0:0.7.3-2.fc43 100% | 525.8 KiB/s | 26.3 KiB | 00m00s [ 11/194] python3-psutil-0:7.0.0-3.fc43 100% | 2.3 MiB/s | 254.3 KiB | 00m00s [ 12/194] python3-matplotlib-0:3.10.3-7 100% | 51.1 MiB/s | 7.7 MiB | 00m00s [ 13/194] python3-requests-0:2.32.4-3.f 100% | 1.6 MiB/s | 150.3 KiB | 00m00s [ 14/194] python3-tables-0:3.10.1-7.fc4 100% | 22.8 MiB/s | 1.7 MiB | 00m00s [ 15/194] python3-zarr-0:2.18.7-4.fc43. 100% | 10.5 MiB/s | 549.9 KiB | 00m00s [ 16/194] python3-0:3.14.0~rc1-2.fc43.x 100% | 739.9 KiB/s | 27.4 KiB | 00m00s [ 17/194] python3-asciitree-0:0.3.3-33. 100% | 420.3 KiB/s | 18.1 KiB | 00m00s [ 18/194] python3-fasteners-0:0.19-15.f 100% | 1.1 MiB/s | 44.8 KiB | 00m00s [ 19/194] python3-numcodecs-0:0.16.1-3. 100% | 9.4 MiB/s | 463.2 KiB | 00m00s [ 20/194] blosc-0:1.21.6-7.fc43.x86_64 100% | 1.3 MiB/s | 58.1 KiB | 00m00s [ 21/194] blosc2-0:2.19.0-2.fc43.x86_64 100% | 3.9 MiB/s | 218.8 KiB | 00m00s [ 22/194] python3-numpy-1:2.3.2-1.fc43. 100% | 45.0 MiB/s | 8.1 MiB | 00m00s [ 23/194] python3-sqlalchemy-0:2.0.42-1 100% | 12.1 MiB/s | 3.8 MiB | 00m00s [ 24/194] hdf5-0:1.14.6-6.fc43.x86_64 100% | 21.1 MiB/s | 2.0 MiB | 00m00s [ 25/194] lzo-0:2.10-15.fc43.x86_64 100% | 1.7 MiB/s | 69.4 KiB | 00m00s [ 26/194] python3-cpuinfo-0:9.0.0-14.fc 100% | 1.7 MiB/s | 68.6 KiB | 00m00s [ 27/194] python3-numexpr-0:2.10.2-4.fc 100% | 4.6 MiB/s | 208.3 KiB | 00m00s [ 28/194] python3-blosc2-0:3.2.0-2.fc43 100% | 6.2 MiB/s | 509.1 KiB | 00m00s [ 29/194] python3-packaging-0:25.0-4.fc 100% | 3.8 MiB/s | 151.0 KiB | 00m00s [ 30/194] python3-six-0:1.17.0-5.fc43.n 100% | 1.1 MiB/s | 41.7 KiB | 00m00s [ 31/194] python3-typing-extensions-0:4 100% | 2.8 MiB/s | 111.2 KiB | 00m00s [ 32/194] snappy-0:1.2.2-2.fc43.x86_64 100% | 720.4 KiB/s | 39.6 KiB | 00m00s [ 33/194] python3-charset-normalizer-0: 100% | 2.1 MiB/s | 108.6 KiB | 00m00s [ 34/194] python3-cramjam-0:2.11.0-1.fc 100% | 7.5 MiB/s | 1.2 MiB | 00m00s [ 35/194] python3-idna-0:3.10-4.fc43.no 100% | 2.5 MiB/s | 118.5 KiB | 00m00s [ 36/194] python3-urllib3-0:2.4.0-5.fc4 100% | 6.1 MiB/s | 275.7 KiB | 00m00s [ 37/194] python3-cffi-0:1.17.1-4.fc43. 100% | 1.3 MiB/s | 307.7 KiB | 00m00s [ 38/194] python3-numpy-f2py-1:2.3.2-1. 100% | 9.2 MiB/s | 461.7 KiB | 00m00s [ 39/194] dejavu-sans-fonts-0:2.37-26.f 100% | 17.4 MiB/s | 1.3 MiB | 00m00s [ 40/194] libqhull_r-1:8.0.2-7.fc43.x86 100% | 4.3 MiB/s | 201.9 KiB | 00m00s [ 41/194] python3-cairo-0:1.28.0-2.fc43 100% | 2.9 MiB/s | 126.1 KiB | 00m00s [ 42/194] freetype-0:2.13.3-3.fc43.x86_ 100% | 2.7 MiB/s | 412.1 KiB | 00m00s [ 43/194] python3-contourpy-0:1.3.3-1.f 100% | 6.3 MiB/s | 275.6 KiB | 00m00s [ 44/194] python3-cycler-0:0.11.0-17.fc 100% | 493.1 KiB/s | 21.7 KiB | 00m00s [ 45/194] python3-dateutil-1:2.9.0.post 100% | 7.4 MiB/s | 333.6 KiB | 00m00s [ 46/194] flexiblas-netlib-0:3.4.5-3.fc 100% | 9.6 MiB/s | 3.4 MiB | 00m00s [ 47/194] python3-kiwisolver-0:1.4.8-4. 100% | 1.5 MiB/s | 67.9 KiB | 00m00s [ 48/194] python3-matplotlib-data-fonts 100% | 17.9 MiB/s | 2.3 MiB | 00m00s [ 49/194] python3-pillow-0:11.3.0-3.fc4 100% | 6.2 MiB/s | 1.0 MiB | 00m00s [ 50/194] python3-pyparsing-0:3.1.2-12. 100% | 5.7 MiB/s | 279.6 KiB | 00m00s [ 51/194] python3-attrs-0:25.3.0-4.fc43 100% | 2.9 MiB/s | 122.7 KiB | 00m00s [ 52/194] python3-fonttools-0:4.59.0-3. 100% | 10.3 MiB/s | 3.0 MiB | 00m00s [ 53/194] python3-jsonschema-specificat 100% | 520.5 KiB/s | 21.9 KiB | 00m00s [ 54/194] python3-referencing-0:0.36.2- 100% | 1.9 MiB/s | 80.4 KiB | 00m00s [ 55/194] python3-decorator-0:5.2.1-3.f 100% | 795.7 KiB/s | 31.8 KiB | 00m00s [ 56/194] python3-rpds-py-0:0.25.0-3.fc 100% | 4.9 MiB/s | 309.0 KiB | 00m00s [ 57/194] python3-matplotlib-inline-0:0 100% | 587.0 KiB/s | 24.1 KiB | 00m00s [ 58/194] python3-pexpect-0:4.9.0-12.fc 100% | 3.5 MiB/s | 161.9 KiB | 00m00s [ 59/194] python3-jedi-0:0.19.2-3.fc43. 100% | 13.8 MiB/s | 1.3 MiB | 00m00s [ 60/194] python3-stack-data-0:0.6.3-16 100% | 1.3 MiB/s | 60.9 KiB | 00m00s [ 61/194] python3-prompt-toolkit-0:3.0. 100% | 5.9 MiB/s | 823.0 KiB | 00m00s [ 62/194] python3-traitlets-0:5.14.3-6. 100% | 2.8 MiB/s | 211.7 KiB | 00m00s [ 63/194] python3-pygments-0:2.19.1-4.f 100% | 16.0 MiB/s | 2.5 MiB | 00m00s [ 64/194] liblzf-0:3.6-33.fc43.x86_64 100% | 578.8 KiB/s | 27.8 KiB | 00m00s [ 65/194] python3-cached_property-0:2.0 100% | 471.6 KiB/s | 20.3 KiB | 00m00s [ 66/194] tzdata-0:2025b-3.fc43.noarch 100% | 5.2 MiB/s | 429.3 KiB | 00m00s [ 67/194] python3-pycparser-0:2.22-3.fc 100% | 4.0 MiB/s | 264.1 KiB | 00m00s [ 68/194] graphviz-0:13.1.1-2.fc43.x86_ 100% | 20.6 MiB/s | 4.7 MiB | 00m00s [ 69/194] python3-msgpack-0:1.1.0-4.fc4 100% | 2.6 MiB/s | 110.4 KiB | 00m00s [ 70/194] cairo-0:1.18.4-2.fc43.x86_64 100% | 5.9 MiB/s | 729.3 KiB | 00m00s [ 71/194] python3-ndindex-0:1.10.0-3.fc 100% | 5.5 MiB/s | 271.6 KiB | 00m00s [ 72/194] python3-platformdirs-0:4.2.2- 100% | 1.1 MiB/s | 43.5 KiB | 00m00s [ 73/194] llhttp-0:9.3.0-5.fc43.x86_64 100% | 970.2 KiB/s | 38.8 KiB | 00m00s [ 74/194] python3-aiohappyeyeballs-0:2. 100% | 964.0 KiB/s | 38.6 KiB | 00m00s [ 75/194] python3-aiosignal-0:1.4.0-2.f 100% | 469.1 KiB/s | 19.7 KiB | 00m00s [ 76/194] python3-frozenlist-0:1.6.0-5. 100% | 1.4 MiB/s | 60.4 KiB | 00m00s [ 77/194] python3-multidict-0:6.6.3-2.f 100% | 2.1 MiB/s | 86.6 KiB | 00m00s [ 78/194] python3-propcache-0:0.2.0-3.f 100% | 1.4 MiB/s | 59.4 KiB | 00m00s [ 79/194] python3-yarl-0:1.18.3-4.fc43. 100% | 3.3 MiB/s | 140.4 KiB | 00m00s [ 80/194] libaec-0:1.1.4-2.fc43.x86_64 100% | 984.7 KiB/s | 37.4 KiB | 00m00s [ 81/194] libgfortran-0:15.1.1-5.fc43.1 100% | 14.1 MiB/s | 968.7 KiB | 00m00s [ 82/194] expat-0:2.7.1-3.fc43.x86_64 100% | 2.8 MiB/s | 116.1 KiB | 00m00s [ 83/194] fontconfig-0:2.17.0-3.fc43.x8 100% | 6.2 MiB/s | 259.1 KiB | 00m00s [ 84/194] gd-0:2.3.3-19.fc43.x86_64 100% | 3.2 MiB/s | 136.3 KiB | 00m00s [ 85/194] gdk-pixbuf2-0:2.42.12-10.fc42 100% | 11.0 MiB/s | 471.5 KiB | 00m00s [ 86/194] glib2-0:2.85.2-1.fc43.x86_64 100% | 22.3 MiB/s | 3.1 MiB | 00m00s [ 87/194] graphviz-libs-0:13.1.1-2.fc43 100% | 10.9 MiB/s | 479.1 KiB | 00m00s [ 88/194] gts-0:0.7.6-51.20121130.fc43. 100% | 5.0 MiB/s | 234.8 KiB | 00m00s [ 89/194] python3-libs-0:3.14.0~rc1-2.f 100% | 9.3 MiB/s | 9.5 MiB | 00m01s [ 90/194] lasi-0:1.1.3-17.fc43.x86_64 100% | 1.3 MiB/s | 55.0 KiB | 00m00s [ 91/194] harfbuzz-0:11.3.3-1.fc43.x86_ 100% | 12.7 MiB/s | 1.1 MiB | 00m00s [ 92/194] libX11-common-0:1.8.12-1.fc43 100% | 3.5 MiB/s | 144.9 KiB | 00m00s [ 93/194] libX11-0:1.8.12-1.fc43.x86_64 100% | 10.7 MiB/s | 655.6 KiB | 00m00s [ 94/194] libXrender-0:0.9.12-3.fc43.x8 100% | 707.2 KiB/s | 26.9 KiB | 00m00s [ 95/194] librsvg2-0:2.60.0-1.fc43.x86_ 100% | 18.9 MiB/s | 1.9 MiB | 00m00s [ 96/194] libwebp-0:1.6.0-2.fc43.x86_64 100% | 7.7 MiB/s | 324.2 KiB | 00m00s [ 97/194] pango-0:1.56.4-2.fc43.x86_64 100% | 8.2 MiB/s | 350.7 KiB | 00m00s [ 98/194] poppler-glib-0:25.07.0-2.fc43 100% | 5.1 MiB/s | 207.2 KiB | 00m00s [ 99/194] urw-base35-fonts-0:20200910-2 100% | 247.0 KiB/s | 9.9 KiB | 00m00s [100/194] libgs-0:10.05.1-5.fc43.x86_64 100% | 10.3 MiB/s | 3.4 MiB | 00m00s [101/194] libjpeg-turbo-0:3.1.1-2.fc43. 100% | 5.8 MiB/s | 236.1 KiB | 00m00s [102/194] libpng-2:1.6.50-2.fc43.x86_64 100% | 3.2 MiB/s | 123.0 KiB | 00m00s [103/194] shared-mime-info-0:2.4-2.fc43 100% | 6.6 MiB/s | 399.7 KiB | 00m00s [104/194] libXpm-0:3.5.17-6.fc43.x86_64 100% | 1.6 MiB/s | 65.6 KiB | 00m00s [105/194] libavif-0:1.1.1-4.fc43.x86_64 100% | 2.4 MiB/s | 99.3 KiB | 00m00s [106/194] libimagequant-0:4.0.3-8.fc43. 100% | 5.3 MiB/s | 313.8 KiB | 00m00s [107/194] libtiff-0:4.7.0-6.fc43.x86_64 100% | 5.5 MiB/s | 220.8 KiB | 00m00s [108/194] default-fonts-core-sans-0:4.2 100% | 660.8 KiB/s | 23.8 KiB | 00m00s [109/194] fonts-filesystem-1:2.0.5-23.f 100% | 234.5 KiB/s | 8.7 KiB | 00m00s [110/194] xml-common-0:0.6.3-67.fc43.no 100% | 862.4 KiB/s | 31.0 KiB | 00m00s [111/194] flexiblas-0:3.4.5-3.fc43.x86_ 100% | 685.1 KiB/s | 26.0 KiB | 00m00s [112/194] flexiblas-openblas-openmp-0:3 100% | 448.5 KiB/s | 17.0 KiB | 00m00s [113/194] libquadmath-0:15.1.1-5.fc43.1 100% | 4.9 MiB/s | 200.9 KiB | 00m00s [114/194] abattis-cantarell-vf-fonts-0: 100% | 3.1 MiB/s | 120.1 KiB | 00m00s [115/194] libXext-0:1.3.6-4.fc43.x86_64 100% | 1.0 MiB/s | 39.1 KiB | 00m00s [116/194] google-noto-sans-vf-fonts-0:2 100% | 7.9 MiB/s | 614.6 KiB | 00m00s [117/194] libxcb-0:1.17.0-6.fc43.x86_64 100% | 5.7 MiB/s | 232.8 KiB | 00m00s [118/194] pixman-0:0.46.2-2.fc43.x86_64 100% | 4.9 MiB/s | 292.5 KiB | 00m00s [119/194] zlib-ng-0:2.2.4-3.fc43.x86_64 100% | 2.2 MiB/s | 86.6 KiB | 00m00s [120/194] urw-base35-bookman-fonts-0:20 100% | 13.8 MiB/s | 845.2 KiB | 00m00s [121/194] urw-base35-d050000l-fonts-0:2 100% | 1.6 MiB/s | 75.2 KiB | 00m00s [122/194] urw-base35-c059-fonts-0:20200 100% | 8.1 MiB/s | 872.9 KiB | 00m00s [123/194] urw-base35-fonts-common-0:202 100% | 404.5 KiB/s | 20.6 KiB | 00m00s [124/194] urw-base35-gothic-fonts-0:202 100% | 6.8 MiB/s | 640.8 KiB | 00m00s [125/194] urw-base35-nimbus-mono-ps-fon 100% | 13.1 MiB/s | 793.8 KiB | 00m00s [126/194] urw-base35-nimbus-roman-fonts 100% | 13.9 MiB/s | 853.1 KiB | 00m00s [127/194] urw-base35-p052-fonts-0:20200 100% | 15.3 MiB/s | 972.1 KiB | 00m00s [128/194] urw-base35-nimbus-sans-fonts- 100% | 9.7 MiB/s | 1.3 MiB | 00m00s [129/194] urw-base35-standard-symbols-p 100% | 1.5 MiB/s | 57.7 KiB | 00m00s [130/194] urw-base35-z003-fonts-0:20200 100% | 6.4 MiB/s | 274.9 KiB | 00m00s [131/194] python3-asttokens-0:3.0.0-3.f 100% | 1.4 MiB/s | 55.2 KiB | 00m00s [132/194] python3-executing-0:2.2.0-3.f 100% | 1.6 MiB/s | 68.7 KiB | 00m00s [133/194] python3-pure-eval-0:0.2.3-4.f 100% | 909.4 KiB/s | 35.5 KiB | 00m00s [134/194] python3-pooch-0:1.8.2-7.fc43. 100% | 2.4 MiB/s | 126.9 KiB | 00m00s [135/194] python3-ply-0:3.11-28.fc43.no 100% | 2.4 MiB/s | 132.1 KiB | 00m00s [136/194] python3-wcwidth-0:0.2.13-14.f 100% | 1.2 MiB/s | 47.3 KiB | 00m00s [137/194] lcms2-0:2.16-6.fc43.x86_64 100% | 4.6 MiB/s | 182.8 KiB | 00m00s [138/194] libraqm-0:0.10.1-3.fc43.x86_6 100% | 476.9 KiB/s | 22.4 KiB | 00m00s [139/194] openjpeg-0:2.5.3-7.fc43.x86_6 100% | 4.2 MiB/s | 191.7 KiB | 00m00s [140/194] python3-ptyprocess-0:0.7.0-12 100% | 785.7 KiB/s | 36.1 KiB | 00m00s [141/194] mpdecimal-0:4.0.1-2.fc43.x86_ 100% | 2.3 MiB/s | 97.1 KiB | 00m00s [142/194] python-pip-wheel-0:25.1.1-14. 100% | 14.9 MiB/s | 1.2 MiB | 00m00s [143/194] python3-parso-0:0.8.4-8.fc43. 100% | 4.6 MiB/s | 204.0 KiB | 00m00s [144/194] python3-olefile-0:0.47-9.fc43 100% | 255.9 KiB/s | 74.7 KiB | 00m00s [145/194] poppler-0:25.07.0-2.fc43.x86_ 100% | 15.7 MiB/s | 1.3 MiB | 00m00s [146/194] gpgmepp-0:1.24.3-4.fc43.x86_6 100% | 3.5 MiB/s | 142.8 KiB | 00m00s [147/194] nspr-0:4.36.0-11.fc43.x86_64 100% | 3.3 MiB/s | 137.2 KiB | 00m00s [148/194] python3-scipy-0:1.15.3-4.fc43 100% | 7.0 MiB/s | 16.7 MiB | 00m02s [149/194] nss-0:3.113.0-2.fc43.x86_64 100% | 9.9 MiB/s | 711.7 KiB | 00m00s [150/194] fribidi-0:1.0.16-3.fc43.x86_6 100% | 1.3 MiB/s | 53.3 KiB | 00m00s [151/194] libXft-0:2.3.8-9.fc43.x86_64 100% | 1.9 MiB/s | 72.2 KiB | 00m00s [152/194] libthai-0:0.1.29-11.fc43.x86_ 100% | 5.1 MiB/s | 210.3 KiB | 00m00s [153/194] nss-sysinit-0:3.113.0-2.fc43. 100% | 484.5 KiB/s | 18.9 KiB | 00m00s [154/194] poppler-data-0:0.4.11-10.fc43 100% | 10.3 MiB/s | 1.9 MiB | 00m00s [155/194] nss-util-0:3.113.0-2.fc43.x86 100% | 2.1 MiB/s | 85.6 KiB | 00m00s [156/194] nss-softokn-0:3.113.0-2.fc43. 100% | 3.0 MiB/s | 416.4 KiB | 00m00s [157/194] libXau-0:1.0.12-3.fc43.x86_64 100% | 857.6 KiB/s | 33.4 KiB | 00m00s [158/194] jbigkit-libs-0:2.1-32.fc43.x8 100% | 1.4 MiB/s | 53.2 KiB | 00m00s [159/194] liblerc-0:4.0.0-9.fc43.x86_64 100% | 5.4 MiB/s | 215.1 KiB | 00m00s [160/194] libdatrie-0:0.2.13-12.fc43.x8 100% | 864.8 KiB/s | 32.0 KiB | 00m00s [161/194] cairo-gobject-0:1.18.4-2.fc43 100% | 445.5 KiB/s | 16.9 KiB | 00m00s [162/194] rsvg-pixbuf-loader-0:2.60.0-1 100% | 3.7 MiB/s | 167.8 KiB | 00m00s [163/194] libdav1d-0:1.5.1-2.fc43.x86_6 100% | 10.8 MiB/s | 639.4 KiB | 00m00s [164/194] adobe-mappings-cmap-deprecate 100% | 2.6 MiB/s | 102.5 KiB | 00m00s [165/194] cups-libs-1:2.4.12-4.fc43.x86 100% | 6.1 MiB/s | 261.4 KiB | 00m00s [166/194] adobe-mappings-pdf-0:20190401 100% | 7.6 MiB/s | 611.0 KiB | 00m00s [167/194] jbig2dec-libs-0:0.20-7.fc43.x 100% | 1.8 MiB/s | 74.0 KiB | 00m00s [168/194] libXt-0:1.3.1-3.fc43.x86_64 100% | 4.4 MiB/s | 179.2 KiB | 00m00s [169/194] google-droid-sans-fonts-0:202 100% | 20.3 MiB/s | 2.7 MiB | 00m00s [170/194] libijs-0:0.35-25.fc43.x86_64 100% | 693.2 KiB/s | 29.1 KiB | 00m00s [171/194] libpaper-1:2.1.1-9.fc43.x86_6 100% | 699.8 KiB/s | 26.6 KiB | 00m00s [172/194] libyuv-0:0-0.57.20240704git96 100% | 4.9 MiB/s | 202.1 KiB | 00m00s [173/194] rav1e-libs-0:0.7.1-7.fc43.x86 100% | 16.2 MiB/s | 1.0 MiB | 00m00s [174/194] libaom-0:3.12.0-3.fc43.x86_64 100% | 10.8 MiB/s | 1.8 MiB | 00m00s [175/194] libvmaf-0:3.0.0-4.fc43.x86_64 100% | 4.7 MiB/s | 196.6 KiB | 00m00s [176/194] adobe-mappings-cmap-0:2023111 100% | 4.4 MiB/s | 2.2 MiB | 00m00s [177/194] svt-av1-libs-0:2.3.0-2.fc43.x 100% | 20.1 MiB/s | 2.0 MiB | 00m00s [178/194] libICE-0:1.1.2-3.fc43.x86_64 100% | 2.0 MiB/s | 78.1 KiB | 00m00s [179/194] libSM-0:1.2.5-3.fc43.x86_64 100% | 1.1 MiB/s | 44.2 KiB | 00m00s [180/194] graphite2-0:1.3.14-19.fc43.x8 100% | 2.5 MiB/s | 95.6 KiB | 00m00s [181/194] netpbm-0:11.10.00-2.fc43.x86_ 100% | 3.1 MiB/s | 187.0 KiB | 00m00s [182/194] gpgme-0:1.24.3-4.fc43.x86_64 100% | 5.5 MiB/s | 217.9 KiB | 00m00s [183/194] google-noto-fonts-common-0:20 100% | 471.7 KiB/s | 17.5 KiB | 00m00s [184/194] avahi-libs-0:0.9~rc2-3.fc43.x 100% | 1.7 MiB/s | 68.9 KiB | 00m00s [185/194] cups-filesystem-1:2.4.12-4.fc 100% | 349.1 KiB/s | 12.9 KiB | 00m00s [186/194] dbus-libs-1:1.16.0-4.fc43.x86 100% | 3.6 MiB/s | 148.3 KiB | 00m00s [187/194] cpuinfo-0:24.09.26-2.git1e83a 100% | 1.1 MiB/s | 44.0 KiB | 00m00s [188/194] openblas-0:0.3.29-2.fc43.x86_ 100% | 1.0 MiB/s | 42.3 KiB | 00m00s [189/194] pyproject-rpm-macros-0:1.18.3 100% | 1.1 MiB/s | 44.3 KiB | 00m00s [190/194] nss-softokn-freebl-0:3.113.0- 100% | 3.5 MiB/s | 328.8 KiB | 00m00s [191/194] python-rpm-macros-0:3.14-4.fc 100% | 452.2 KiB/s | 17.2 KiB | 00m00s [192/194] openblas-openmp-0:0.3.29-2.fc 100% | 24.0 MiB/s | 5.4 MiB | 00m00s [193/194] python3-rpm-generators-0:14-1 100% | 731.7 KiB/s | 28.5 KiB | 00m00s [194/194] python3-rpm-macros-0:3.14-4.f 100% | 317.5 KiB/s | 11.7 KiB | 00m00s -------------------------------------------------------------------------------- [194/194] Total 100% | 23.4 MiB/s | 134.9 MiB | 00m06s Running transaction [ 1/196] Verify package files 100% | 374.0 B/s | 194.0 B | 00m01s [ 2/196] Prepare transaction 100% | 910.0 B/s | 194.0 B | 00m00s [ 3/196] Installing glib2-0:2.85.2-1.f 100% | 177.6 MiB/s | 14.7 MiB | 00m00s [ 4/196] Installing libjpeg-turbo-0:3. 100% | 260.8 MiB/s | 801.2 KiB | 00m00s [ 5/196] Installing nspr-0:4.36.0-11.f 100% | 154.8 MiB/s | 317.1 KiB | 00m00s [ 6/196] Installing fonts-filesystem-1 100% | 769.5 KiB/s | 788.0 B | 00m00s [ 7/196] Installing urw-base35-fonts-c 100% | 37.5 MiB/s | 38.4 KiB | 00m00s [ 8/196] Installing libpng-2:1.6.50-2. 100% | 116.7 MiB/s | 239.0 KiB | 00m00s [ 9/196] Installing nss-util-0:3.113.0 100% | 197.0 MiB/s | 201.8 KiB | 00m00s [ 10/196] Installing libwebp-0:1.6.0-2. 100% | 187.6 MiB/s | 960.7 KiB | 00m00s [ 11/196] Installing libgfortran-0:15.1 100% | 305.0 MiB/s | 3.4 MiB | 00m00s [ 12/196] Installing python-rpm-macros- 100% | 23.0 MiB/s | 23.5 KiB | 00m00s [ 13/196] Installing openjpeg-0:2.5.3-7 100% | 110.8 MiB/s | 453.7 KiB | 00m00s [ 14/196] Installing lcms2-0:2.16-6.fc4 100% | 212.6 MiB/s | 435.3 KiB | 00m00s [ 15/196] Installing expat-0:2.7.1-3.fc 100% | 19.3 MiB/s | 296.3 KiB | 00m00s [ 16/196] Installing python3-rpm-macros 100% | 0.0 B/s | 6.8 KiB | 00m00s [ 17/196] Installing libICE-0:1.1.2-3.f 100% | 63.7 MiB/s | 195.8 KiB | 00m00s [ 18/196] Installing adobe-mappings-cma 100% | 223.4 MiB/s | 15.2 MiB | 00m00s [ 19/196] Installing libdav1d-0:1.5.1-2 100% | 188.2 MiB/s | 1.7 MiB | 00m00s [ 20/196] Installing fribidi-0:1.0.16-3 100% | 11.8 MiB/s | 192.8 KiB | 00m00s [ 21/196] Installing libimagequant-0:4. 100% | 112.7 MiB/s | 692.5 KiB | 00m00s [ 22/196] Installing tzdata-0:2025b-3.f 100% | 24.6 MiB/s | 1.9 MiB | 00m00s [ 23/196] Installing snappy-0:1.2.2-2.f 100% | 35.9 MiB/s | 73.5 KiB | 00m00s [ 24/196] Installing blosc-0:1.21.6-7.f 100% | 63.0 MiB/s | 129.0 KiB | 00m00s [ 25/196] Installing lzo-0:2.10-15.fc43 100% | 88.1 MiB/s | 180.5 KiB | 00m00s [ 26/196] Installing adobe-mappings-cma 100% | 190.5 MiB/s | 585.2 KiB | 00m00s [ 27/196] Installing libSM-0:1.2.5-3.fc 100% | 100.0 MiB/s | 102.4 KiB | 00m00s [ 28/196] Installing pyproject-rpm-macr 100% | 113.7 MiB/s | 116.5 KiB | 00m00s [ 29/196] Installing graphviz-libs-0:13 100% | 154.2 MiB/s | 1.2 MiB | 00m00s [ 30/196] Installing nss-softokn-freebl 100% | 166.1 MiB/s | 850.5 KiB | 00m00s [ 31/196] Installing nss-softokn-0:3.11 100% | 270.5 MiB/s | 1.9 MiB | 00m00s [ 32/196] Installing nss-0:3.113.0-2.fc 100% | 94.0 MiB/s | 1.9 MiB | 00m00s [ 33/196] Installing nss-sysinit-0:3.11 100% | 1.2 MiB/s | 19.2 KiB | 00m00s [ 34/196] Installing urw-base35-bookman 100% | 273.0 MiB/s | 1.4 MiB | 00m00s [ 35/196] Installing urw-base35-c059-fo 100% | 279.0 MiB/s | 1.4 MiB | 00m00s [ 36/196] Installing urw-base35-d050000 100% | 83.4 MiB/s | 85.4 KiB | 00m00s [ 37/196] Installing urw-base35-gothic- 100% | 290.7 MiB/s | 1.2 MiB | 00m00s [ 38/196] Installing urw-base35-nimbus- 100% | 263.0 MiB/s | 1.1 MiB | 00m00s [ 39/196] Installing urw-base35-nimbus- 100% | 273.2 MiB/s | 1.4 MiB | 00m00s [ 40/196] Installing urw-base35-nimbus- 100% | 299.3 MiB/s | 2.4 MiB | 00m00s [ 41/196] Installing urw-base35-p052-fo 100% | 297.5 MiB/s | 1.5 MiB | 00m00s [ 42/196] Installing urw-base35-standar 100% | 64.4 MiB/s | 66.0 KiB | 00m00s [ 43/196] Installing urw-base35-z003-fo 100% | 191.3 MiB/s | 391.8 KiB | 00m00s [ 44/196] Installing urw-base35-fonts-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [ 45/196] Installing dejavu-sans-fonts- 100% | 289.9 MiB/s | 5.5 MiB | 00m00s [ 46/196] Installing abattis-cantarell- 100% | 47.5 MiB/s | 194.4 KiB | 00m00s [ 47/196] Installing google-droid-sans- 100% | 272.1 MiB/s | 6.3 MiB | 00m00s [ 48/196] Installing libyuv-0:0-0.57.20 100% | 166.3 MiB/s | 681.3 KiB | 00m00s [ 49/196] Installing shared-mime-info-0 100% | 64.7 MiB/s | 2.6 MiB | 00m00s [ 50/196] Installing gdk-pixbuf2-0:2.42 100% | 72.2 MiB/s | 2.5 MiB | 00m00s [ 51/196] Installing openblas-0:0.3.29- 100% | 36.9 MiB/s | 113.5 KiB | 00m00s [ 52/196] Installing openblas-openmp-0: 100% | 408.3 MiB/s | 43.7 MiB | 00m00s [ 53/196] Installing cpuinfo-0:24.09.26 100% | 6.7 MiB/s | 109.7 KiB | 00m00s [ 54/196] Installing svt-av1-libs-0:2.3 100% | 280.6 MiB/s | 5.6 MiB | 00m00s [ 55/196] Installing dbus-libs-1:1.16.0 100% | 169.3 MiB/s | 346.6 KiB | 00m00s [ 56/196] Installing avahi-libs-0:0.9~r 100% | 85.0 MiB/s | 174.2 KiB | 00m00s [ 57/196] Installing cups-filesystem-1: 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [ 58/196] Installing cups-libs-1:2.4.12 100% | 151.4 MiB/s | 620.3 KiB | 00m00s [ 59/196] Installing google-noto-fonts- 100% | 18.1 MiB/s | 18.5 KiB | 00m00s [ 60/196] Installing google-noto-sans-v 100% | 198.8 MiB/s | 1.4 MiB | 00m00s [ 61/196] Installing default-fonts-core 100% | 8.9 MiB/s | 18.2 KiB | 00m00s [ 62/196] Installing gpgme-0:1.24.3-4.f 100% | 33.9 MiB/s | 590.4 KiB | 00m00s [ 63/196] Installing gpgmepp-0:1.24.3-4 100% | 84.1 MiB/s | 430.4 KiB | 00m00s [ 64/196] Installing netpbm-0:11.10.00- 100% | 188.6 MiB/s | 579.5 KiB | 00m00s [ 65/196] Installing gts-0:0.7.6-51.201 100% | 33.1 MiB/s | 643.7 KiB | 00m00s [ 66/196] Installing graphite2-0:1.3.14 100% | 11.8 MiB/s | 193.9 KiB | 00m00s [ 67/196] Installing freetype-0:2.13.3- 100% | 208.0 MiB/s | 851.9 KiB | 00m00s [ 68/196] Installing harfbuzz-0:11.3.3- 100% | 235.4 MiB/s | 2.8 MiB | 00m00s [ 69/196] Installing libraqm-0:0.10.1-3 100% | 29.0 MiB/s | 29.7 KiB | 00m00s [ 70/196] Installing libvmaf-0:3.0.0-4. 100% | 269.7 MiB/s | 828.4 KiB | 00m00s [ 71/196] Installing libaom-0:3.12.0-3. 100% | 277.4 MiB/s | 5.0 MiB | 00m00s [ 72/196] Installing rav1e-libs-0:0.7.1 100% | 272.0 MiB/s | 3.0 MiB | 00m00s [ 73/196] Installing libavif-0:1.1.1-4. 100% | 105.1 MiB/s | 215.2 KiB | 00m00s [ 74/196] Installing libpaper-1:2.1.1-9 100% | 49.2 MiB/s | 50.4 KiB | 00m00s [ 75/196] Installing libijs-0:0.35-25.f 100% | 61.1 MiB/s | 62.5 KiB | 00m00s [ 76/196] Installing jbig2dec-libs-0:0. 100% | 81.3 MiB/s | 166.5 KiB | 00m00s [ 77/196] Installing adobe-mappings-pdf 100% | 258.6 MiB/s | 4.4 MiB | 00m00s [ 78/196] Installing libdatrie-0:0.2.13 100% | 53.7 MiB/s | 54.9 KiB | 00m00s [ 79/196] Installing libthai-0:0.1.29-1 100% | 191.7 MiB/s | 785.2 KiB | 00m00s [ 80/196] Installing liblerc-0:4.0.0-9. 100% | 203.6 MiB/s | 625.6 KiB | 00m00s [ 81/196] Installing jbigkit-libs-0:2.1 100% | 112.7 MiB/s | 115.4 KiB | 00m00s [ 82/196] Installing libtiff-0:4.7.0-6. 100% | 202.2 MiB/s | 621.3 KiB | 00m00s [ 83/196] Installing libXau-0:1.0.12-3. 100% | 72.7 MiB/s | 74.5 KiB | 00m00s [ 84/196] Installing libxcb-0:1.17.0-6. 100% | 120.0 MiB/s | 1.1 MiB | 00m00s [ 85/196] Installing poppler-data-0:0.4 100% | 238.3 MiB/s | 12.4 MiB | 00m00s [ 86/196] Installing python-pip-wheel-0 100% | 311.3 MiB/s | 1.2 MiB | 00m00s [ 87/196] Installing mpdecimal-0:4.0.1- 100% | 23.7 MiB/s | 218.8 KiB | 00m00s [ 88/196] Installing python3-libs-0:3.1 100% | 190.7 MiB/s | 43.3 MiB | 00m00s [ 89/196] Installing python3-0:3.14.0~r 100% | 2.0 MiB/s | 30.7 KiB | 00m00s [ 90/196] Installing python3-packaging- 100% | 121.1 MiB/s | 620.0 KiB | 00m00s [ 91/196] Installing python3-six-0:1.17 100% | 117.5 MiB/s | 120.3 KiB | 00m00s [ 92/196] Installing python3-typing-ext 100% | 173.7 MiB/s | 533.7 KiB | 00m00s [ 93/196] Installing python3-idna-0:3.1 100% | 180.0 MiB/s | 737.1 KiB | 00m00s [ 94/196] Installing python3-attrs-0:25 100% | 83.0 MiB/s | 425.0 KiB | 00m00s [ 95/196] Installing python3-cpuinfo-0: 100% | 19.2 MiB/s | 314.9 KiB | 00m00s [ 96/196] Installing python3-rpds-py-0: 100% | 184.3 MiB/s | 755.0 KiB | 00m00s [ 97/196] Installing python3-referencin 100% | 67.6 MiB/s | 346.1 KiB | 00m00s [ 98/196] Installing python3-traitlets- 100% | 149.1 MiB/s | 1.0 MiB | 00m00s [ 99/196] Installing python3-platformdi 100% | 59.9 MiB/s | 184.0 KiB | 00m00s [100/196] Installing python3-frozenlist 100% | 73.8 MiB/s | 151.2 KiB | 00m00s [101/196] Installing python3-multidict- 100% | 106.9 MiB/s | 328.3 KiB | 00m00s [102/196] Installing python3-propcache- 100% | 46.8 MiB/s | 143.9 KiB | 00m00s [103/196] Installing python3-yarl-0:1.1 100% | 136.2 MiB/s | 558.1 KiB | 00m00s [104/196] Installing python3-aiosignal- 100% | 13.6 MiB/s | 27.9 KiB | 00m00s [105/196] Installing python3-matplotlib 100% | 21.5 MiB/s | 44.1 KiB | 00m00s [106/196] Installing python3-jsonschema 100% | 13.6 MiB/s | 55.6 KiB | 00m00s [107/196] Installing python3-urllib3-0: 100% | 109.8 MiB/s | 1.1 MiB | 00m00s [108/196] Installing python3-dateutil-1 100% | 124.3 MiB/s | 891.1 KiB | 00m00s [109/196] Installing python3-rpm-genera 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [110/196] Installing python3-asciitree- 100% | 12.2 MiB/s | 25.0 KiB | 00m00s [111/196] Installing python3-fasteners- 100% | 40.8 MiB/s | 125.3 KiB | 00m00s [112/196] Installing python3-cramjam-0: 100% | 241.3 MiB/s | 3.1 MiB | 00m00s [113/196] Installing python3-charset-no 100% | 19.8 MiB/s | 364.1 KiB | 00m00s [114/196] Installing python3-requests-0 100% | 95.7 MiB/s | 490.2 KiB | 00m00s [115/196] Installing python3-pooch-0:1. 100% | 105.9 MiB/s | 650.4 KiB | 00m00s [116/196] Installing python3-cycler-0:0 100% | 13.1 MiB/s | 40.3 KiB | 00m00s [117/196] Installing python3-fonttools- 100% | 180.0 MiB/s | 19.1 MiB | 00m00s [118/196] Installing python3-kiwisolver 100% | 51.4 MiB/s | 158.1 KiB | 00m00s [119/196] Installing python3-pyparsing- 100% | 147.1 MiB/s | 1.0 MiB | 00m00s [120/196] Installing python3-decorator- 100% | 27.5 MiB/s | 84.5 KiB | 00m00s [121/196] Installing python3-pygments-0 100% | 130.5 MiB/s | 11.5 MiB | 00m00s [122/196] Installing python3-cached_pro 100% | 18.6 MiB/s | 38.2 KiB | 00m00s [123/196] Installing python3-msgpack-0: 100% | 110.9 MiB/s | 340.7 KiB | 00m00s [124/196] Installing python3-aiohappyey 100% | 52.6 MiB/s | 107.7 KiB | 00m00s [125/196] Installing python3-asttokens- 100% | 66.8 MiB/s | 205.3 KiB | 00m00s [126/196] Installing python3-executing- 100% | 91.7 MiB/s | 281.8 KiB | 00m00s [127/196] Installing python3-pure-eval- 100% | 54.1 MiB/s | 110.9 KiB | 00m00s [128/196] Installing python3-stack-data 100% | 74.5 MiB/s | 228.8 KiB | 00m00s [129/196] Installing python3-ply-0:3.11 100% | 141.7 MiB/s | 580.4 KiB | 00m00s [130/196] Installing python3-pycparser- 100% | 167.2 MiB/s | 1.5 MiB | 00m00s [131/196] Installing python3-cffi-0:1.1 100% | 170.2 MiB/s | 1.4 MiB | 00m00s [132/196] Installing python3-wcwidth-0: 100% | 137.9 MiB/s | 564.9 KiB | 00m00s [133/196] Installing python3-prompt-too 100% | 116.4 MiB/s | 4.2 MiB | 00m00s [134/196] Installing python3-olefile-0: 100% | 113.9 MiB/s | 349.8 KiB | 00m00s [135/196] Installing python3-pillow-0:1 100% | 165.7 MiB/s | 4.3 MiB | 00m00s [136/196] Installing python3-ptyprocess 100% | 41.4 MiB/s | 84.8 KiB | 00m00s [137/196] Installing python3-pexpect-0: 100% | 78.5 MiB/s | 643.2 KiB | 00m00s [138/196] Installing python3-parso-0:0. 100% | 92.3 MiB/s | 945.1 KiB | 00m00s [139/196] Installing python3-jedi-0:0.1 100% | 41.8 MiB/s | 6.1 MiB | 00m00s [140/196] Installing zlib-ng-0:2.2.4-3. 100% | 77.3 MiB/s | 158.4 KiB | 00m00s [141/196] Installing blosc2-0:2.19.0-2. 100% | 109.5 MiB/s | 560.5 KiB | 00m00s [142/196] Installing pixman-0:0.46.2-2. 100% | 231.6 MiB/s | 711.4 KiB | 00m00s [143/196] Installing libquadmath-0:15.1 100% | 155.8 MiB/s | 319.2 KiB | 00m00s [144/196] Installing flexiblas-netlib-0 100% | 198.5 MiB/s | 10.9 MiB | 00m00s [145/196] Installing flexiblas-0:3.4.5- 100% | 50.4 MiB/s | 51.6 KiB | 00m00s [146/196] Installing flexiblas-openblas 100% | 39.1 MiB/s | 40.1 KiB | 00m00s [147/196] Installing python3-numpy-f2py 100% | 54.3 MiB/s | 2.2 MiB | 00m00s [148/196] Installing python3-numpy-1:2. 100% | 185.7 MiB/s | 41.8 MiB | 00m00s [149/196] Installing python3-numexpr-0: 100% | 112.4 MiB/s | 806.0 KiB | 00m00s [150/196] Installing python3-numcodecs- 100% | 60.0 MiB/s | 1.8 MiB | 00m00s [151/196] Installing python3-contourpy- 100% | 106.1 MiB/s | 869.5 KiB | 00m00s [152/196] Installing python3-ndindex-0: 100% | 123.0 MiB/s | 1.1 MiB | 00m00s [153/196] Installing python3-blosc2-0:3 100% | 104.2 MiB/s | 1.8 MiB | 00m00s [154/196] Installing python3-scipy-0:1. 100% | 203.7 MiB/s | 70.7 MiB | 00m00s [155/196] Installing xml-common-0:0.6.3 100% | 39.6 MiB/s | 81.1 KiB | 00m00s [156/196] Installing fontconfig-0:2.17. 100% | 644.2 KiB/s | 785.3 KiB | 00m01s [157/196] Installing poppler-0:25.07.0- 100% | 224.1 MiB/s | 3.8 MiB | 00m00s [158/196] Installing libX11-common-0:1. 100% | 59.4 MiB/s | 1.2 MiB | 00m00s [159/196] Installing libX11-0:1.8.12-1. 100% | 256.3 MiB/s | 1.3 MiB | 00m00s [160/196] Installing libXrender-0:0.9.1 100% | 46.2 MiB/s | 47.3 KiB | 00m00s [161/196] Installing libXft-0:2.3.8-9.f 100% | 162.0 MiB/s | 165.9 KiB | 00m00s [162/196] Installing libXpm-0:3.5.17-6. 100% | 146.2 MiB/s | 149.7 KiB | 00m00s [163/196] Installing gd-0:2.3.3-19.fc43 100% | 197.6 MiB/s | 404.7 KiB | 00m00s [164/196] Installing libXext-0:1.3.6-4. 100% | 89.1 MiB/s | 91.2 KiB | 00m00s [165/196] Installing cairo-0:1.18.4-2.f 100% | 253.1 MiB/s | 1.8 MiB | 00m00s [166/196] Installing pango-0:1.56.4-2.f 100% | 51.9 MiB/s | 1.0 MiB | 00m00s [167/196] Installing lasi-0:1.1.3-17.fc 100% | 125.2 MiB/s | 128.2 KiB | 00m00s [168/196] Installing python3-cairo-0:1. 100% | 161.6 MiB/s | 496.4 KiB | 00m00s [169/196] Installing poppler-glib-0:25. 100% | 206.7 MiB/s | 634.9 KiB | 00m00s [170/196] Installing cairo-gobject-0:1. 100% | 0.0 B/s | 32.0 KiB | 00m00s [171/196] Installing librsvg2-0:2.60.0- 100% | 238.9 MiB/s | 5.0 MiB | 00m00s [172/196] Installing rsvg-pixbuf-loader 100% | 169.0 MiB/s | 346.0 KiB | 00m00s [173/196] Installing libXt-0:1.3.1-3.fc 100% | 140.3 MiB/s | 431.0 KiB | 00m00s [174/196] Installing libgs-0:10.05.1-5. 100% | 310.4 MiB/s | 23.6 MiB | 00m00s [175/196] Installing graphviz-0:13.1.1- 100% | 204.3 MiB/s | 20.8 MiB | 00m00s [176/196] Installing libaec-0:1.1.4-2.f 100% | 45.3 MiB/s | 92.8 KiB | 00m00s [177/196] Installing hdf5-0:1.14.6-6.fc 100% | 152.0 MiB/s | 6.4 MiB | 00m00s [178/196] Installing llhttp-0:9.3.0-5.f 100% | 91.8 MiB/s | 94.0 KiB | 00m00s [179/196] Installing liblzf-0:3.6-33.fc 100% | 3.4 MiB/s | 51.9 KiB | 00m00s [180/196] Installing python3-matplotlib 100% | 239.8 MiB/s | 7.9 MiB | 00m00s [181/196] Installing libqhull_r-1:8.0.2 100% | 118.2 MiB/s | 484.1 KiB | 00m00s [182/196] Installing python3-matplotlib 100% | 221.3 MiB/s | 31.9 MiB | 00m00s [183/196] Installing python3-h5py-0:3.1 100% | 192.5 MiB/s | 4.6 MiB | 00m00s [184/196] Installing python3-aiohttp-0: 100% | 176.1 MiB/s | 3.9 MiB | 00m00s [185/196] Installing python3-tables-0:3 100% | 171.1 MiB/s | 10.4 MiB | 00m00s [186/196] Installing python3-graphviz-1 100% | 59.0 MiB/s | 362.5 KiB | 00m00s [187/196] Installing python3-Bottleneck 100% | 71.4 MiB/s | 658.5 KiB | 00m00s [188/196] Installing python3-zarr-0:2.1 100% | 207.3 MiB/s | 3.3 MiB | 00m00s [189/196] Installing python3-ipython-0: 100% | 95.0 MiB/s | 4.8 MiB | 00m00s [190/196] Installing python3-snappy-0:0 100% | 21.7 MiB/s | 66.5 KiB | 00m00s [191/196] Installing python3-devel-0:3. 100% | 62.2 MiB/s | 2.0 MiB | 00m00s [192/196] Installing python3-jsonschema 100% | 39.5 MiB/s | 929.4 KiB | 00m00s [193/196] Installing python3-sqlalchemy 100% | 217.2 MiB/s | 24.3 MiB | 00m00s [194/196] Installing python3-crick-0:0. 100% | 124.0 MiB/s | 634.6 KiB | 00m00s [195/196] Installing python3-fastavro-0 100% | 64.6 MiB/s | 1.8 MiB | 00m00s [196/196] Installing python3-psutil-0:7 100% | 2.1 MiB/s | 1.4 MiB | 00m01s Warning: skipped OpenPGP checks for 194 packages from repositories: copr_base, http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Finish: build setup for python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Start: rpmbuild python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.fB4aSi Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.N4YBq5 + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + cd /builddir/build/BUILD/python-dask-2025.4.1-build + rm -rf dask-2025.4.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/dask-2025.4.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd dask-2025.4.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0001-Remove-extra-test-dependencies.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/0002-XFAIL-test-if-NotImplementedError-is-raised.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Hmo8z7 + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + cd dask-2025.4.1 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=43 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir --output /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires -x test,array,bag,dataframe,delayed Handling setuptools>=62.6 from build-system.requires Requirement not satisfied: setuptools>=62.6 Handling versioneer[toml]==0.29 from build-system.requires Requirement not satisfied: versioneer[toml]==0.29 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dask-2025.4.1-3.fc43~bootstrap.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 39.1 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 15.4 KiB/s | 1.5 KiB | 00m00s fedora 100% | 204.0 KiB/s | 25.9 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.3-2.fc43.noarch" is already installed. Package "python3-devel-3.14.0~rc1-2.fc43.x86_64" is already installed. Package "python3-aiohttp-3.11.18-3.fc43.x86_64" is already installed. Package "python3-Bottleneck-1.4.2-4.fc43.x86_64" is already installed. Package "python3-crick-0.0.8-6.fc43.x86_64" is already installed. Package "python3-fastavro-1.11.1-4.fc43.x86_64" is already installed. Package "python3-graphviz-1:0.20.1-13.fc43.noarch" is already installed. Package "python3-h5py-3.13.0-3.fc43.x86_64" is already installed. Package "python3-ipython-8.37.0-4.fc43.noarch" is already installed. Package "python3-jsonschema-4.23.0-4.fc43.noarch" is already installed. Package "python3-matplotlib-3.10.3-7.fc43.x86_64" is already installed. Package "python3-packaging-25.0-4.fc43.noarch" is already installed. Package "python3-psutil-7.0.0-3.fc43.x86_64" is already installed. Package "python3-snappy-0.7.3-2.fc43.noarch" is already installed. Package "python3-requests-2.32.4-3.fc43.noarch" is already installed. Package "python3-sqlalchemy-2.0.42-1.fc43.x86_64" is already installed. Package "python3-tables-3.10.1-7.fc43.x86_64" is already installed. Package "python3-zarr-2.18.7-4.fc43.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 25.1.1-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 12.5 MiB python3-setuptools noarch 78.1.1-10.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 9.0 MiB python3-versioneer noarch 0.29-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 277.8 KiB python3-versioneer+toml noarch 0.29-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 17.1 KiB Transaction Summary: Installing: 4 packages Total size of inbound packages is 5 MiB. Need to download 5 MiB. After this operation, 22 MiB extra will be used (install 22 MiB, remove 0 B). [1/4] python3-versioneer-0:0.29-5.fc43. 100% | 418.3 KiB/s | 56.1 KiB | 00m00s [2/4] python3-versioneer+toml-0:0.29-5. 100% | 225.4 KiB/s | 8.8 KiB | 00m00s [3/4] python3-pip-0:25.1.1-14.fc43.noar 100% | 11.1 MiB/s | 2.6 MiB | 00m00s [4/4] python3-setuptools-0:78.1.1-10.fc 100% | 7.8 MiB/s | 1.9 MiB | 00m00s -------------------------------------------------------------------------------- [4/4] Total 100% | 18.9 MiB/s | 4.6 MiB | 00m00s Running transaction [1/6] Verify package files 100% | 235.0 B/s | 4.0 B | 00m00s [2/6] Prepare transaction 100% | 76.0 B/s | 4.0 B | 00m00s [3/6] Installing python3-versioneer-0:0 100% | 17.1 MiB/s | 280.5 KiB | 00m00s [4/6] Installing python3-versioneer+tom 100% | 60.5 KiB/s | 124.0 B | 00m00s [5/6] Installing python3-setuptools-0:7 100% | 119.8 MiB/s | 9.2 MiB | 00m00s [6/6] Installing python3-pip-0:25.1.1-1 100% | 86.4 MiB/s | 12.8 MiB | 00m00s Warning: skipped OpenPGP checks for 4 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.hfMbGe + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + cd dask-2025.4.1 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=43 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir --output /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires -x test,array,bag,dataframe,delayed Handling setuptools>=62.6 from build-system.requires Requirement satisfied: setuptools>=62.6 (installed: setuptools 78.1.1) Handling versioneer[toml]==0.29 from build-system.requires Requirement satisfied: versioneer[toml]==0.29 (installed: versioneer 0.29) (extras are currently not checked) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) running dist_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask-2025.4.1.dist-info' Handling click>=8.1 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: click>=8.1 Handling cloudpickle>=3.0.0 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: cloudpickle>=3.0.0 Handling fsspec>=2021.09.0 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: fsspec>=2021.09.0 Handling packaging>=20.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: packaging>=20.0 (installed: packaging 25.0) Handling partd>=1.4.0 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: partd>=1.4.0 Handling pyyaml>=5.3.1 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pyyaml>=5.3.1 Handling toolz>=0.10.0 from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: toolz>=0.10.0 Handling importlib_metadata>=4.13.0; python_version < "3.12" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: importlib_metadata>=4.13.0; python_version < "3.12" Handling numpy>=1.24; extra == "array" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: numpy>=1.24; extra == "array" (installed: numpy 2.3.2) Handling dask[array]; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Handling pandas>=2.0; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pandas>=2.0; extra == "dataframe" Handling pyarrow>=14.0.1; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pyarrow>=14.0.1; extra == "dataframe" Handling distributed==2025.4.1; extra == "distributed" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: distributed==2025.4.1; extra == "distributed" Handling bokeh>=3.1.0; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: bokeh>=3.1.0; extra == "diagnostics" Handling jinja2>=2.10.3; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: jinja2>=2.10.3; extra == "diagnostics" Handling dask[array,dataframe,diagnostics,distributed]; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: dask[array,dataframe,diagnostics,distributed]; extra == "complete" Handling pyarrow>=14.0.1; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: pyarrow>=14.0.1; extra == "complete" Handling lz4>=4.3.2; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: lz4>=4.3.2; extra == "complete" Handling pandas[test]; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pandas[test]; extra == "test" Handling pytest; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pytest; extra == "test" Handling pytest-mock; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pytest-mock; extra == "test" Handling pytest-rerunfailures; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pytest-rerunfailures; extra == "test" Handling pytest-timeout; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pytest-timeout; extra == "test" Handling pytest-xdist; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement not satisfied: pytest-xdist; extra == "test" + cat /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires + rm -rfv dask-2025.4.1.dist-info/ removed 'dask-2025.4.1.dist-info/licenses/dask/array/NUMPY_LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses/dask/array' removed directory 'dask-2025.4.1.dist-info/licenses/dask' removed 'dask-2025.4.1.dist-info/licenses/LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses' removed 'dask-2025.4.1.dist-info/METADATA' removed 'dask-2025.4.1.dist-info/entry_points.txt' removed 'dask-2025.4.1.dist-info/top_level.txt' removed directory 'dask-2025.4.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dask-2025.4.1-3.fc43~bootstrap.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 37.5 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 15.0 KiB/s | 1.5 KiB | 00m00s fedora 100% | 199.3 KiB/s | 25.9 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.3-2.fc43.noarch" is already installed. Package "python3-devel-3.14.0~rc1-2.fc43.x86_64" is already installed. Package "python3-aiohttp-3.11.18-3.fc43.x86_64" is already installed. Package "python3-Bottleneck-1.4.2-4.fc43.x86_64" is already installed. Package "python3-crick-0.0.8-6.fc43.x86_64" is already installed. Package "python3-fastavro-1.11.1-4.fc43.x86_64" is already installed. Package "python3-graphviz-1:0.20.1-13.fc43.noarch" is already installed. Package "python3-h5py-3.13.0-3.fc43.x86_64" is already installed. Package "python3-ipython-8.37.0-4.fc43.noarch" is already installed. Package "python3-jsonschema-4.23.0-4.fc43.noarch" is already installed. Package "python3-matplotlib-3.10.3-7.fc43.x86_64" is already installed. Package "python3-numpy-1:2.3.2-1.fc43.x86_64" is already installed. Package "python3-packaging-25.0-4.fc43.noarch" is already installed. Package "python3-packaging-25.0-4.fc43.noarch" is already installed. Package "python3-pip-25.1.1-14.fc43.noarch" is already installed. Package "python3-psutil-7.0.0-3.fc43.x86_64" is already installed. Package "python3-snappy-0.7.3-2.fc43.noarch" is already installed. Package "python3-requests-2.32.4-3.fc43.noarch" is already installed. Package "python3-setuptools-78.1.1-10.fc43.noarch" is already installed. Package "python3-sqlalchemy-2.0.42-1.fc43.x86_64" is already installed. Package "python3-tables-3.10.1-7.fc43.x86_64" is already installed. Package "python3-versioneer-0.29-5.fc43.noarch" is already installed. Package "python3-versioneer+toml-0.29-5.fc43.noarch" is already installed. Package "python3-zarr-2.18.7-4.fc43.noarch" is already installed. Package Arch Version Repository Size Installing: python3-click noarch 8.1.7-9.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.2 MiB python3-cloudpickle noarch 3.1.1-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 129.3 KiB python3-fsspec noarch 2025.5.1-5.fc43~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.9 MiB python3-pandas x86_64 2.2.3-5.fc43~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 43.5 MiB python3-pandas+test x86_64 2.2.3-5.fc43~bootstrap http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 47.1 MiB python3-partd noarch 1.4.2-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 166.8 KiB python3-pyarrow x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 26.7 MiB python3-pytest noarch 8.3.5-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 4.1 MiB python3-pytest-mock noarch 3.14.1-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 128.8 KiB python3-pytest-rerunfailures noarch 15.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 84.9 KiB python3-pytest-timeout noarch 2.4.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 82.1 KiB python3-pytest-xdist noarch 3.7.0-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 468.4 KiB python3-pyyaml x86_64 6.0.2-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 793.4 KiB python3-toolz noarch 1.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 618.0 KiB Installing dependencies: abseil-cpp x86_64 20250512.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.3 MiB boost-program-options x86_64 1.83.0-14.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 280.8 KiB c-ares x86_64 1.34.5-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 269.1 KiB grpc x86_64 1.48.4-50.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 10.5 MiB grpc-cpp x86_64 1.48.4-50.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.0 MiB grpc-data noarch 1.48.4-50.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 29.6 KiB libarrow x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 26.5 MiB libarrow-acero-libs x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB libarrow-dataset-libs x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB libarrow-doc noarch 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 117.1 KiB libarrow-flight-libs x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.4 MiB libarrow-glib-libs x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.5 MiB libicu x86_64 76.1-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 36.3 MiB liborc2 x86_64 2.1.3-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 1.8 MiB libyaml x86_64 0.2.5-17.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 134.6 KiB parquet-libs x86_64 20.0.0-4.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.3 MiB protobuf x86_64 3.19.6-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 3.3 MiB protobuf-compiler x86_64 3.19.6-15.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 2.5 MiB python3-execnet noarch 2.1.1-8.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 970.2 KiB python3-hypothesis noarch 6.123.0-5.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.0 MiB python3-iniconfig noarch 1.1.1-28.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 21.0 KiB python3-locket noarch 1.0.0-16.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 20.9 KiB python3-pluggy noarch 1.6.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 211.0 KiB python3-pytz noarch 2025.2-3.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 224.0 KiB python3-sortedcontainers noarch 2.4.0-22.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 393.4 KiB re2 x86_64 1:20240702-35.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 565.8 KiB thrift x86_64 0.20.0-6.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 5.5 MiB utf8proc x86_64 2.10.0-2.fc43 http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch 372.0 KiB Transaction Summary: Installing: 42 packages Total size of inbound packages is 52 MiB. Need to download 52 MiB. After this operation, 236 MiB extra will be used (install 236 MiB, remove 0 B). [ 1/42] python3-cloudpickle-0:3.1.1-5.f 100% | 345.7 KiB/s | 48.1 KiB | 00m00s [ 2/42] python3-click-0:8.1.7-9.fc43.no 100% | 1.3 MiB/s | 244.0 KiB | 00m00s [ 3/42] python3-fsspec-0:2025.5.1-5.fc4 100% | 2.3 MiB/s | 435.5 KiB | 00m00s [ 4/42] python3-partd-0:1.4.2-6.fc43.no 100% | 1.2 MiB/s | 54.9 KiB | 00m00s [ 5/42] python3-pandas+test-0:2.2.3-5.f 100% | 40.4 MiB/s | 7.1 MiB | 00m00s [ 6/42] python3-pandas-0:2.2.3-5.fc43~b 100% | 30.5 MiB/s | 8.1 MiB | 00m00s [ 7/42] python3-pytest-0:8.3.5-4.fc43.n 100% | 13.5 MiB/s | 773.9 KiB | 00m00s [ 8/42] python3-pytest-mock-0:3.14.1-2. 100% | 973.6 KiB/s | 38.9 KiB | 00m00s [ 9/42] python3-pytest-rerunfailures-0: 100% | 763.0 KiB/s | 32.0 KiB | 00m00s [10/42] python3-pytest-timeout-0:2.4.0- 100% | 761.8 KiB/s | 30.5 KiB | 00m00s [11/42] python3-pytest-xdist-0:3.7.0-3. 100% | 2.6 MiB/s | 107.2 KiB | 00m00s [12/42] python3-pyyaml-0:6.0.2-4.fc43.x 100% | 5.7 MiB/s | 227.0 KiB | 00m00s [13/42] python3-toolz-0:1.0.0-4.fc43.no 100% | 3.6 MiB/s | 158.6 KiB | 00m00s [14/42] libyaml-0:0.2.5-17.fc43.x86_64 100% | 1.5 MiB/s | 60.1 KiB | 00m00s [15/42] python3-execnet-0:2.1.1-8.fc43. 100% | 5.9 MiB/s | 249.8 KiB | 00m00s [16/42] python3-iniconfig-0:1.1.1-28.fc 100% | 482.1 KiB/s | 18.3 KiB | 00m00s [17/42] python3-pluggy-0:1.6.0-2.fc43.n 100% | 1.5 MiB/s | 55.9 KiB | 00m00s [18/42] libarrow-acero-libs-0:20.0.0-4. 100% | 10.7 MiB/s | 516.0 KiB | 00m00s [19/42] libarrow-dataset-libs-0:20.0.0- 100% | 10.9 MiB/s | 511.1 KiB | 00m00s [20/42] libarrow-0:20.0.0-4.fc43.x86_64 100% | 49.9 MiB/s | 6.2 MiB | 00m00s [21/42] libarrow-flight-libs-0:20.0.0-4 100% | 8.9 MiB/s | 421.3 KiB | 00m00s [22/42] parquet-libs-0:20.0.0-4.fc43.x8 100% | 20.4 MiB/s | 1.0 MiB | 00m00s [23/42] python3-locket-0:1.0.0-16.fc43. 100% | 450.9 KiB/s | 18.0 KiB | 00m00s [24/42] python3-pytz-0:2025.2-3.fc43.no 100% | 1.4 MiB/s | 61.5 KiB | 00m00s [25/42] python3-hypothesis-0:6.123.0-5. 100% | 23.0 MiB/s | 1.2 MiB | 00m00s [26/42] python3-sortedcontainers-0:2.4. 100% | 1.7 MiB/s | 63.6 KiB | 00m00s [27/42] boost-program-options-0:1.83.0- 100% | 2.7 MiB/s | 110.6 KiB | 00m00s [28/42] libarrow-doc-0:20.0.0-4.fc43.no 100% | 764.0 KiB/s | 29.0 KiB | 00m00s [29/42] thrift-0:0.20.0-6.fc43.x86_64 100% | 27.7 MiB/s | 1.8 MiB | 00m00s [30/42] abseil-cpp-0:20250512.0-2.fc43. 100% | 5.5 MiB/s | 711.2 KiB | 00m00s [31/42] grpc-0:1.48.4-50.fc43.x86_64 100% | 34.1 MiB/s | 2.6 MiB | 00m00s [32/42] grpc-cpp-0:1.48.4-50.fc43.x86_6 100% | 15.6 MiB/s | 718.5 KiB | 00m00s [33/42] libarrow-glib-libs-0:20.0.0-4.f 100% | 9.2 MiB/s | 422.5 KiB | 00m00s [34/42] protobuf-0:3.19.6-15.fc43.x86_6 100% | 20.1 MiB/s | 1.0 MiB | 00m00s [35/42] liborc2-0:2.1.3-2.fc43.x86_64 100% | 12.0 MiB/s | 551.3 KiB | 00m00s [36/42] re2-1:20240702-35.fc43.x86_64 100% | 5.4 MiB/s | 225.0 KiB | 00m00s [37/42] utf8proc-0:2.10.0-2.fc43.x86_64 100% | 2.1 MiB/s | 81.8 KiB | 00m00s [38/42] protobuf-compiler-0:3.19.6-15.f 100% | 16.6 MiB/s | 783.0 KiB | 00m00s [39/42] c-ares-0:1.34.5-2.fc43.x86_64 100% | 2.5 MiB/s | 117.0 KiB | 00m00s [40/42] grpc-data-0:1.48.4-50.fc43.noar 100% | 430.6 KiB/s | 19.4 KiB | 00m00s [41/42] python3-pyarrow-0:20.0.0-4.fc43 100% | 4.2 MiB/s | 4.8 MiB | 00m01s [42/42] libicu-0:76.1-5.fc43.x86_64 100% | 44.0 MiB/s | 10.7 MiB | 00m00s -------------------------------------------------------------------------------- [42/42] Total 100% | 35.7 MiB/s | 52.2 MiB | 00m01s Running transaction [ 1/44] Verify package files 100% | 214.0 B/s | 42.0 B | 00m00s [ 2/44] Prepare transaction 100% | 411.0 B/s | 42.0 B | 00m00s [ 3/44] Installing libarrow-doc-0:20.0. 100% | 57.6 MiB/s | 117.9 KiB | 00m00s [ 4/44] Installing protobuf-0:3.19.6-15 100% | 272.5 MiB/s | 3.3 MiB | 00m00s [ 5/44] Installing abseil-cpp-0:2025051 100% | 111.6 MiB/s | 2.3 MiB | 00m00s [ 6/44] Installing liborc2-0:2.1.3-2.fc 100% | 257.0 MiB/s | 1.8 MiB | 00m00s [ 7/44] Installing protobuf-compiler-0: 100% | 108.3 MiB/s | 2.5 MiB | 00m00s [ 8/44] Installing libicu-0:76.1-5.fc43 100% | 302.6 MiB/s | 36.3 MiB | 00m00s [ 9/44] Installing re2-1:20240702-35.fc 100% | 184.6 MiB/s | 567.2 KiB | 00m00s [10/44] Installing grpc-data-0:1.48.4-5 100% | 29.7 MiB/s | 30.4 KiB | 00m00s [11/44] Installing c-ares-0:1.34.5-2.fc 100% | 132.1 MiB/s | 270.6 KiB | 00m00s [12/44] Installing grpc-0:1.48.4-50.fc4 100% | 276.9 MiB/s | 10.5 MiB | 00m00s [13/44] Installing grpc-cpp-0:1.48.4-50 100% | 199.6 MiB/s | 3.0 MiB | 00m00s [14/44] Installing utf8proc-0:2.10.0-2. 100% | 121.6 MiB/s | 373.4 KiB | 00m00s [15/44] Installing libarrow-0:20.0.0-4. 100% | 273.6 MiB/s | 26.5 MiB | 00m00s [16/44] Installing libarrow-acero-libs- 100% | 279.6 MiB/s | 1.4 MiB | 00m00s [17/44] Installing libarrow-glib-libs-0 100% | 301.9 MiB/s | 1.5 MiB | 00m00s [18/44] Installing libarrow-flight-libs 100% | 281.1 MiB/s | 1.4 MiB | 00m00s [19/44] Installing thrift-0:0.20.0-6.fc 100% | 165.5 MiB/s | 5.5 MiB | 00m00s [20/44] Installing boost-program-option 100% | 137.6 MiB/s | 281.8 KiB | 00m00s [21/44] Installing parquet-libs-0:20.0. 100% | 329.4 MiB/s | 3.3 MiB | 00m00s [22/44] Installing libarrow-dataset-lib 100% | 294.1 MiB/s | 1.5 MiB | 00m00s [23/44] Installing python3-sortedcontai 100% | 97.1 MiB/s | 397.8 KiB | 00m00s [24/44] Installing python3-hypothesis-0 100% | 117.8 MiB/s | 5.1 MiB | 00m00s [25/44] Installing python3-pytz-0:2025. 100% | 44.8 MiB/s | 229.4 KiB | 00m00s [26/44] Installing python3-pandas-0:2.2 100% | 240.5 MiB/s | 43.8 MiB | 00m00s [27/44] Installing python3-locket-0:1.0 100% | 11.4 MiB/s | 23.4 KiB | 00m00s [28/44] Installing python3-pluggy-0:1.6 100% | 70.8 MiB/s | 217.5 KiB | 00m00s [29/44] Installing python3-iniconfig-0: 100% | 11.8 MiB/s | 24.2 KiB | 00m00s [30/44] Installing python3-pytest-0:8.3 100% | 111.8 MiB/s | 4.1 MiB | 00m00s [31/44] Installing python3-execnet-0:2. 100% | 107.6 MiB/s | 991.8 KiB | 00m00s [32/44] Installing python3-pytest-xdist 100% | 93.9 MiB/s | 480.8 KiB | 00m00s [33/44] Installing libyaml-0:0.2.5-17.f 100% | 132.8 MiB/s | 136.0 KiB | 00m00s [34/44] Installing python3-toolz-0:1.0. 100% | 77.8 MiB/s | 637.7 KiB | 00m00s [35/44] Installing python3-partd-0:1.4. 100% | 57.3 MiB/s | 176.2 KiB | 00m00s [36/44] Installing python3-pyyaml-0:6.0 100% | 65.7 MiB/s | 807.3 KiB | 00m00s [37/44] Installing python3-pandas+test- 100% | 164.1 MiB/s | 47.8 MiB | 00m00s [38/44] Installing python3-pytest-mock- 100% | 43.6 MiB/s | 133.9 KiB | 00m00s [39/44] Installing python3-pytest-rerun 100% | 85.5 MiB/s | 87.6 KiB | 00m00s [40/44] Installing python3-pytest-timeo 100% | 11.8 MiB/s | 84.6 KiB | 00m00s [41/44] Installing python3-pyarrow-0:20 100% | 273.9 MiB/s | 26.8 MiB | 00m00s [42/44] Installing python3-fsspec-0:202 100% | 137.5 MiB/s | 1.9 MiB | 00m00s [43/44] Installing python3-cloudpickle- 100% | 43.3 MiB/s | 133.2 KiB | 00m00s [44/44] Installing python3-click-0:8.1. 100% | 19.8 MiB/s | 1.2 MiB | 00m00s Warning: skipped OpenPGP checks for 42 packages from repository: http_kojipkgs_fedoraproject_org_repos_rawhide_latest_basearch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Pjljhn + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + cd dask-2025.4.1 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=43 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir --output /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires -x test,array,bag,dataframe,delayed Handling setuptools>=62.6 from build-system.requires Requirement satisfied: setuptools>=62.6 (installed: setuptools 78.1.1) Handling versioneer[toml]==0.29 from build-system.requires Requirement satisfied: versioneer[toml]==0.29 (installed: versioneer 0.29) (extras are currently not checked) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) running dist_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask-2025.4.1.dist-info' Handling click>=8.1 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: click>=8.1 (installed: click 8.1.7) Handling cloudpickle>=3.0.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: cloudpickle>=3.0.0 (installed: cloudpickle 3.1.1) Handling fsspec>=2021.09.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: fsspec>=2021.09.0 (installed: fsspec 2025.5.1) Handling packaging>=20.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: packaging>=20.0 (installed: packaging 25.0) Handling partd>=1.4.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: partd>=1.4.0 (installed: partd 1.4.2) Handling pyyaml>=5.3.1 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pyyaml>=5.3.1 (installed: pyyaml 6.0.2) Handling toolz>=0.10.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: toolz>=0.10.0 (installed: toolz 1.0.0) Handling importlib_metadata>=4.13.0; python_version < "3.12" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: importlib_metadata>=4.13.0; python_version < "3.12" Handling numpy>=1.24; extra == "array" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: numpy>=1.24; extra == "array" (installed: numpy 2.3.2) Handling dask[array]; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Handling pandas>=2.0; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pandas>=2.0; extra == "dataframe" (installed: pandas 2.2.3) Handling pyarrow>=14.0.1; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pyarrow>=14.0.1; extra == "dataframe" (installed: pyarrow 20.0.0) Handling distributed==2025.4.1; extra == "distributed" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: distributed==2025.4.1; extra == "distributed" Handling bokeh>=3.1.0; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: bokeh>=3.1.0; extra == "diagnostics" Handling jinja2>=2.10.3; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: jinja2>=2.10.3; extra == "diagnostics" Handling dask[array,dataframe,diagnostics,distributed]; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: dask[array,dataframe,diagnostics,distributed]; extra == "complete" Handling pyarrow>=14.0.1; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: pyarrow>=14.0.1; extra == "complete" Handling lz4>=4.3.2; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: lz4>=4.3.2; extra == "complete" Handling pandas[test]; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pandas[test]; extra == "test" (installed: pandas 2.2.3) (extras are currently not checked) Handling pytest; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest; extra == "test" (installed: pytest 8.3.5) Handling pytest-mock; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-mock; extra == "test" (installed: pytest-mock 3.14.1) Handling pytest-rerunfailures; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-rerunfailures; extra == "test" (installed: pytest-rerunfailures 15.0) Handling pytest-timeout; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-timeout; extra == "test" (installed: pytest-timeout 2.4.0) Handling pytest-xdist; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-xdist; extra == "test" (installed: pytest-xdist 3.7.0) + cat /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires + rm -rfv dask-2025.4.1.dist-info/ removed 'dask-2025.4.1.dist-info/licenses/dask/array/NUMPY_LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses/dask/array' removed directory 'dask-2025.4.1.dist-info/licenses/dask' removed 'dask-2025.4.1.dist-info/licenses/LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses' removed 'dask-2025.4.1.dist-info/METADATA' removed 'dask-2025.4.1.dist-info/top_level.txt' removed 'dask-2025.4.1.dist-info/entry_points.txt' removed directory 'dask-2025.4.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-dask-2025.4.1-3.fc43~bootstrap.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo http_kojipkgs_fedorapr 100% | 36.1 KiB/s | 3.8 KiB | 00m00s Copr repository 100% | 14.1 KiB/s | 1.5 KiB | 00m00s fedora 100% | 189.1 KiB/s | 25.9 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.18.3-2.fc43.noarch" is already installed. Nothing to do. Package "python3-devel-3.14.0~rc1-2.fc43.x86_64" is already installed. Package "python3-aiohttp-3.11.18-3.fc43.x86_64" is already installed. Package "python3-Bottleneck-1.4.2-4.fc43.x86_64" is already installed. Package "python3-click-8.1.7-9.fc43.noarch" is already installed. Package "python3-cloudpickle-3.1.1-5.fc43.noarch" is already installed. Package "python3-crick-0.0.8-6.fc43.x86_64" is already installed. Package "python3-fastavro-1.11.1-4.fc43.x86_64" is already installed. Package "python3-fsspec-2025.5.1-5.fc43~bootstrap.noarch" is already installed. Package "python3-graphviz-1:0.20.1-13.fc43.noarch" is already installed. Package "python3-h5py-3.13.0-3.fc43.x86_64" is already installed. Package "python3-ipython-8.37.0-4.fc43.noarch" is already installed. Package "python3-jsonschema-4.23.0-4.fc43.noarch" is already installed. Package "python3-matplotlib-3.10.3-7.fc43.x86_64" is already installed. Package "python3-numpy-1:2.3.2-1.fc43.x86_64" is already installed. Package "python3-packaging-25.0-4.fc43.noarch" is already installed. Package "python3-packaging-25.0-4.fc43.noarch" is already installed. Package "python3-pandas-2.2.3-5.fc43~bootstrap.x86_64" is already installed. Package "python3-pandas-2.2.3-5.fc43~bootstrap.x86_64" is already installed. Package "python3-pandas+test-2.2.3-5.fc43~bootstrap.x86_64" is already installed. Package "python3-partd-1.4.2-6.fc43.noarch" is already installed. Package "python3-pip-25.1.1-14.fc43.noarch" is already installed. Package "python3-psutil-7.0.0-3.fc43.x86_64" is already installed. Package "python3-pyarrow-20.0.0-4.fc43.x86_64" is already installed. Package "python3-pytest-8.3.5-4.fc43.noarch" is already installed. Package "python3-pytest-mock-3.14.1-2.fc43.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-4.fc43.noarch" is already installed. Package "python3-pytest-timeout-2.4.0-3.fc43.noarch" is already installed. Package "python3-pytest-xdist-3.7.0-3.fc43.noarch" is already installed. Package "python3-snappy-0.7.3-2.fc43.noarch" is already installed. Package "python3-pyyaml-6.0.2-4.fc43.x86_64" is already installed. Package "python3-requests-2.32.4-3.fc43.noarch" is already installed. Package "python3-setuptools-78.1.1-10.fc43.noarch" is already installed. Package "python3-sqlalchemy-2.0.42-1.fc43.x86_64" is already installed. Package "python3-tables-3.10.1-7.fc43.x86_64" is already installed. Package "python3-toolz-1.0.0-4.fc43.noarch" is already installed. Package "python3-versioneer-0.29-5.fc43.noarch" is already installed. Package "python3-versioneer+toml-0.29-5.fc43.noarch" is already installed. Package "python3-zarr-2.18.7-4.fc43.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1753833600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Xsml8x + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + cd dask-2025.4.1 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + RPM_TOXENV=py314 + FEDORA=43 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir --output /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires -x test,array,bag,dataframe,delayed Handling setuptools>=62.6 from build-system.requires Requirement satisfied: setuptools>=62.6 (installed: setuptools 78.1.1) Handling versioneer[toml]==0.29 from build-system.requires Requirement satisfied: versioneer[toml]==0.29 (installed: versioneer 0.29) (extras are currently not checked) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) running dist_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask-2025.4.1.dist-info' Handling click>=8.1 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: click>=8.1 (installed: click 8.1.7) Handling cloudpickle>=3.0.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: cloudpickle>=3.0.0 (installed: cloudpickle 3.1.1) Handling fsspec>=2021.09.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: fsspec>=2021.09.0 (installed: fsspec 2025.5.1) Handling packaging>=20.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: packaging>=20.0 (installed: packaging 25.0) Handling partd>=1.4.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: partd>=1.4.0 (installed: partd 1.4.2) Handling pyyaml>=5.3.1 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pyyaml>=5.3.1 (installed: pyyaml 6.0.2) Handling toolz>=0.10.0 from hook generated metadata: Requires-Dist (dask) Requirement satisfied: toolz>=0.10.0 (installed: toolz 1.0.0) Handling importlib_metadata>=4.13.0; python_version < "3.12" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: importlib_metadata>=4.13.0; python_version < "3.12" Handling numpy>=1.24; extra == "array" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: numpy>=1.24; extra == "array" (installed: numpy 2.3.2) Handling dask[array]; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Handling pandas>=2.0; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pandas>=2.0; extra == "dataframe" (installed: pandas 2.2.3) Handling pyarrow>=14.0.1; extra == "dataframe" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pyarrow>=14.0.1; extra == "dataframe" (installed: pyarrow 20.0.0) Handling distributed==2025.4.1; extra == "distributed" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: distributed==2025.4.1; extra == "distributed" Handling bokeh>=3.1.0; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: bokeh>=3.1.0; extra == "diagnostics" Handling jinja2>=2.10.3; extra == "diagnostics" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: jinja2>=2.10.3; extra == "diagnostics" Handling dask[array,dataframe,diagnostics,distributed]; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: dask[array,dataframe,diagnostics,distributed]; extra == "complete" Handling pyarrow>=14.0.1; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: pyarrow>=14.0.1; extra == "complete" Handling lz4>=4.3.2; extra == "complete" from hook generated metadata: Requires-Dist (dask) Ignoring alien requirement: lz4>=4.3.2; extra == "complete" Handling pandas[test]; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pandas[test]; extra == "test" (installed: pandas 2.2.3) (extras are currently not checked) Handling pytest; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest; extra == "test" (installed: pytest 8.3.5) Handling pytest-mock; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-mock; extra == "test" (installed: pytest-mock 3.14.1) Handling pytest-rerunfailures; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-rerunfailures; extra == "test" (installed: pytest-rerunfailures 15.0) Handling pytest-timeout; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-timeout; extra == "test" (installed: pytest-timeout 2.4.0) Handling pytest-xdist; extra == "test" from hook generated metadata: Requires-Dist (dask) Requirement satisfied: pytest-xdist; extra == "test" (installed: pytest-xdist 3.7.0) + cat /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-buildrequires + rm -rfv dask-2025.4.1.dist-info/ removed 'dask-2025.4.1.dist-info/licenses/dask/array/NUMPY_LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses/dask/array' removed directory 'dask-2025.4.1.dist-info/licenses/dask' removed 'dask-2025.4.1.dist-info/licenses/LICENSE.txt' removed directory 'dask-2025.4.1.dist-info/licenses' removed 'dask-2025.4.1.dist-info/METADATA' removed 'dask-2025.4.1.dist-info/entry_points.txt' removed 'dask-2025.4.1.dist-info/top_level.txt' removed directory 'dask-2025.4.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.uGmsm8 + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd dask-2025.4.1 + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir Processing /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running dist_info creating /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info writing /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-modern-metadata-sra6apgh/dask-2025.4.1.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: dask Building wheel for dask (pyproject.toml): started Running command Building wheel for dask (pyproject.toml) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:55: SetuptoolsDeprecationWarning: 'tool.setuptools.license-files' is deprecated in favor of 'project.license-files' (available on setuptools>=77.0.0). !! ******************************************************************************** By 2026-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license-files for details. ******************************************************************************** !! _apply_tool_table(dist, config, filename) /usr/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/dask copying dask/utils_test.py -> build/lib/dask copying dask/utils.py -> build/lib/dask copying dask/typing.py -> build/lib/dask copying dask/tokenize.py -> build/lib/dask copying dask/threaded.py -> build/lib/dask copying dask/task_spec.py -> build/lib/dask copying dask/system.py -> build/lib/dask copying dask/sizeof.py -> build/lib/dask copying dask/rewrite.py -> build/lib/dask copying dask/order.py -> build/lib/dask copying dask/optimization.py -> build/lib/dask copying dask/multiprocessing.py -> build/lib/dask copying dask/ml.py -> build/lib/dask copying dask/local.py -> build/lib/dask copying dask/layers.py -> build/lib/dask copying dask/highlevelgraph.py -> build/lib/dask copying dask/hashing.py -> build/lib/dask copying dask/graph_manipulation.py -> build/lib/dask copying dask/dot.py -> build/lib/dask copying dask/distributed.py -> build/lib/dask copying dask/delayed.py -> build/lib/dask copying dask/datasets.py -> build/lib/dask copying dask/core.py -> build/lib/dask copying dask/context.py -> build/lib/dask copying dask/conftest.py -> build/lib/dask copying dask/config.py -> build/lib/dask copying dask/cli.py -> build/lib/dask copying dask/callbacks.py -> build/lib/dask copying dask/cache.py -> build/lib/dask copying dask/blockwise.py -> build/lib/dask copying dask/base.py -> build/lib/dask copying dask/backends.py -> build/lib/dask copying dask/_version.py -> build/lib/dask copying dask/_task_spec.py -> build/lib/dask copying dask/_expr.py -> build/lib/dask copying dask/_dispatch.py -> build/lib/dask copying dask/_compatibility.py -> build/lib/dask copying dask/_collections.py -> build/lib/dask copying dask/__main__.py -> build/lib/dask copying dask/__init__.py -> build/lib/dask creating build/lib/dask/widgets copying dask/widgets/widgets.py -> build/lib/dask/widgets copying dask/widgets/__init__.py -> build/lib/dask/widgets creating build/lib/dask/tests copying dask/tests/warning_aliases.py -> build/lib/dask/tests copying dask/tests/test_utils_test.py -> build/lib/dask/tests copying dask/tests/test_utils.py -> build/lib/dask/tests copying dask/tests/test_typing.py -> build/lib/dask/tests copying dask/tests/test_traceback.py -> build/lib/dask/tests copying dask/tests/test_tokenize.py -> build/lib/dask/tests copying dask/tests/test_threaded.py -> build/lib/dask/tests copying dask/tests/test_task_spec.py -> build/lib/dask/tests copying dask/tests/test_system.py -> build/lib/dask/tests copying dask/tests/test_spark_compat.py -> build/lib/dask/tests copying dask/tests/test_sizeof.py -> build/lib/dask/tests copying dask/tests/test_rewrite.py -> build/lib/dask/tests copying dask/tests/test_order.py -> build/lib/dask/tests copying dask/tests/test_optimization.py -> build/lib/dask/tests copying dask/tests/test_multiprocessing.py -> build/lib/dask/tests copying dask/tests/test_ml.py -> build/lib/dask/tests copying dask/tests/test_local.py -> build/lib/dask/tests copying dask/tests/test_layers.py -> build/lib/dask/tests copying dask/tests/test_imports.py -> build/lib/dask/tests copying dask/tests/test_hlgexpr.py -> build/lib/dask/tests copying dask/tests/test_highgraph.py -> build/lib/dask/tests copying dask/tests/test_hashing.py -> build/lib/dask/tests copying dask/tests/test_graph_manipulation.py -> build/lib/dask/tests copying dask/tests/test_expr.py -> build/lib/dask/tests copying dask/tests/test_dot.py -> build/lib/dask/tests copying dask/tests/test_docs.py -> build/lib/dask/tests copying dask/tests/test_distributed.py -> build/lib/dask/tests copying dask/tests/test_delayed.py -> build/lib/dask/tests copying dask/tests/test_datasets.py -> build/lib/dask/tests copying dask/tests/test_core.py -> build/lib/dask/tests copying dask/tests/test_context.py -> build/lib/dask/tests copying dask/tests/test_config.py -> build/lib/dask/tests copying dask/tests/test_compatibility.py -> build/lib/dask/tests copying dask/tests/test_cli.py -> build/lib/dask/tests copying dask/tests/test_ci.py -> build/lib/dask/tests copying dask/tests/test_callbacks.py -> build/lib/dask/tests copying dask/tests/test_cache.py -> build/lib/dask/tests copying dask/tests/test_base.py -> build/lib/dask/tests copying dask/tests/test_backends.py -> build/lib/dask/tests copying dask/tests/__init__.py -> build/lib/dask/tests creating build/lib/dask/diagnostics copying dask/diagnostics/progress.py -> build/lib/dask/diagnostics copying dask/diagnostics/profile_visualize.py -> build/lib/dask/diagnostics copying dask/diagnostics/profile.py -> build/lib/dask/diagnostics copying dask/diagnostics/__init__.py -> build/lib/dask/diagnostics creating build/lib/dask/dataframe copying dask/dataframe/utils.py -> build/lib/dask/dataframe copying dask/dataframe/shuffle.py -> build/lib/dask/dataframe copying dask/dataframe/rolling.py -> build/lib/dask/dataframe copying dask/dataframe/partitionquantiles.py -> build/lib/dask/dataframe copying dask/dataframe/multi.py -> build/lib/dask/dataframe copying dask/dataframe/methods.py -> build/lib/dask/dataframe copying dask/dataframe/indexing.py -> build/lib/dask/dataframe copying dask/dataframe/hyperloglog.py -> build/lib/dask/dataframe copying dask/dataframe/groupby.py -> build/lib/dask/dataframe copying dask/dataframe/extensions.py -> build/lib/dask/dataframe copying dask/dataframe/dispatch.py -> build/lib/dask/dataframe copying dask/dataframe/core.py -> build/lib/dask/dataframe copying dask/dataframe/categorical.py -> build/lib/dask/dataframe copying dask/dataframe/backends.py -> build/lib/dask/dataframe copying dask/dataframe/api.py -> build/lib/dask/dataframe copying dask/dataframe/accessor.py -> build/lib/dask/dataframe copying dask/dataframe/_pyarrow_compat.py -> build/lib/dask/dataframe copying dask/dataframe/_pyarrow.py -> build/lib/dask/dataframe copying dask/dataframe/_dtypes.py -> build/lib/dask/dataframe copying dask/dataframe/_compat.py -> build/lib/dask/dataframe copying dask/dataframe/__init__.py -> build/lib/dask/dataframe creating build/lib/dask/bytes copying dask/bytes/utils.py -> build/lib/dask/bytes copying dask/bytes/core.py -> build/lib/dask/bytes copying dask/bytes/__init__.py -> build/lib/dask/bytes creating build/lib/dask/bag copying dask/bag/utils.py -> build/lib/dask/bag copying dask/bag/text.py -> build/lib/dask/bag copying dask/bag/random.py -> build/lib/dask/bag copying dask/bag/core.py -> build/lib/dask/bag copying dask/bag/chunk.py -> build/lib/dask/bag copying dask/bag/avro.py -> build/lib/dask/bag copying dask/bag/__init__.py -> build/lib/dask/bag creating build/lib/dask/array copying dask/array/wrap.py -> build/lib/dask/array copying dask/array/utils.py -> build/lib/dask/array copying dask/array/ufunc.py -> build/lib/dask/array copying dask/array/tiledb_io.py -> build/lib/dask/array copying dask/array/svg.py -> build/lib/dask/array copying dask/array/stats.py -> build/lib/dask/array copying dask/array/slicing.py -> build/lib/dask/array copying dask/array/routines.py -> build/lib/dask/array copying dask/array/reshape.py -> build/lib/dask/array copying dask/array/reductions.py -> build/lib/dask/array copying dask/array/rechunk.py -> build/lib/dask/array copying dask/array/random.py -> build/lib/dask/array copying dask/array/percentile.py -> build/lib/dask/array copying dask/array/overlap.py -> build/lib/dask/array copying dask/array/optimization.py -> build/lib/dask/array copying dask/array/numpy_compat.py -> build/lib/dask/array copying dask/array/ma.py -> build/lib/dask/array copying dask/array/linalg.py -> build/lib/dask/array copying dask/array/image.py -> build/lib/dask/array copying dask/array/gufunc.py -> build/lib/dask/array copying dask/array/fft.py -> build/lib/dask/array copying dask/array/einsumfuncs.py -> build/lib/dask/array copying dask/array/dispatch.py -> build/lib/dask/array copying dask/array/cupy_entry_point.py -> build/lib/dask/array copying dask/array/creation.py -> build/lib/dask/array copying dask/array/core.py -> build/lib/dask/array copying dask/array/chunk_types.py -> build/lib/dask/array copying dask/array/chunk.py -> build/lib/dask/array copying dask/array/blockwise.py -> build/lib/dask/array copying dask/array/backends.py -> build/lib/dask/array copying dask/array/api.py -> build/lib/dask/array copying dask/array/_shuffle.py -> build/lib/dask/array copying dask/array/_reductions_generic.py -> build/lib/dask/array copying dask/array/__init__.py -> build/lib/dask/array creating build/lib/dask/diagnostics/tests copying dask/diagnostics/tests/test_progress.py -> build/lib/dask/diagnostics/tests copying dask/diagnostics/tests/test_profiler.py -> build/lib/dask/diagnostics/tests copying dask/diagnostics/tests/__init__.py -> build/lib/dask/diagnostics/tests creating build/lib/dask/dataframe/tseries copying dask/dataframe/tseries/resample.py -> build/lib/dask/dataframe/tseries copying dask/dataframe/tseries/__init__.py -> build/lib/dask/dataframe/tseries creating build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_utils_dataframe.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_ufunc.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_shuffle.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_rolling.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_reshape.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_pyarrow_compat.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_pyarrow.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_numeric.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_multi.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_methods.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_merge_column_and_index.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_indexing.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_hyperloglog.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_hashing.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_groupby.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_extensions.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_dataframe.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_categorical.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_boolean.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_arithmetics_reduction.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_api.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/test_accessors.py -> build/lib/dask/dataframe/tests copying dask/dataframe/tests/__init__.py -> build/lib/dask/dataframe/tests creating build/lib/dask/dataframe/io copying dask/dataframe/io/utils.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/sql.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/json.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/io.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/hdf.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/demo.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/csv.py -> build/lib/dask/dataframe/io copying dask/dataframe/io/__init__.py -> build/lib/dask/dataframe/io creating build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/datasets.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_version.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_util.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_str_accessor.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_shuffle.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_rolling.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_repartition.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_reductions.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_quantiles.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_quantile.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_merge_asof.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_merge.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_interchange.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_indexing.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_groupby.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_expr.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_dummies.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_describe.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_datetime.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_cumulative.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_concat.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_collection.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_categorical.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_backends.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/_accessor.py -> build/lib/dask/dataframe/dask_expr copying dask/dataframe/dask_expr/__init__.py -> build/lib/dask/dataframe/dask_expr creating build/lib/dask/dataframe/tseries/tests copying dask/dataframe/tseries/tests/test_resample_expr.py -> build/lib/dask/dataframe/tseries/tests copying dask/dataframe/tseries/tests/test_resample.py -> build/lib/dask/dataframe/tseries/tests copying dask/dataframe/tseries/tests/__init__.py -> build/lib/dask/dataframe/tseries/tests creating build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_sql.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_parquet.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_orc.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_json.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_io.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_hdf.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_demo.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/test_csv.py -> build/lib/dask/dataframe/io/tests copying dask/dataframe/io/tests/__init__.py -> build/lib/dask/dataframe/io/tests creating build/lib/dask/dataframe/io/parquet copying dask/dataframe/io/parquet/utils.py -> build/lib/dask/dataframe/io/parquet copying dask/dataframe/io/parquet/core.py -> build/lib/dask/dataframe/io/parquet copying dask/dataframe/io/parquet/arrow.py -> build/lib/dask/dataframe/io/parquet copying dask/dataframe/io/parquet/__init__.py -> build/lib/dask/dataframe/io/parquet creating build/lib/dask/dataframe/io/orc copying dask/dataframe/io/orc/utils.py -> build/lib/dask/dataframe/io/orc copying dask/dataframe/io/orc/core.py -> build/lib/dask/dataframe/io/orc copying dask/dataframe/io/orc/arrow.py -> build/lib/dask/dataframe/io/orc copying dask/dataframe/io/orc/__init__.py -> build/lib/dask/dataframe/io/orc creating build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_ufunc.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_string_accessor.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_shuffle.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_rolling.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_reshape.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_repartition.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_reductions.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_quantiles.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_predicate_pushdown.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_merge_asof.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_merge.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_interchange.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_indexing.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_groupby.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_fusion.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_format.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_dummies.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_distributed.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_diagnostics.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_describe.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_datetime.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_datasets.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_cumulative.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_core.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_concat.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_collection.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_categorical.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/test_align_partitions.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/_util.py -> build/lib/dask/dataframe/dask_expr/tests copying dask/dataframe/dask_expr/tests/__init__.py -> build/lib/dask/dataframe/dask_expr/tests creating build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/records.py -> build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/parquet.py -> build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/io.py -> build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/bag.py -> build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/_delayed.py -> build/lib/dask/dataframe/dask_expr/io copying dask/dataframe/dask_expr/io/__init__.py -> build/lib/dask/dataframe/dask_expr/io creating build/lib/dask/dataframe/dask_expr/diagnostics copying dask/dataframe/dask_expr/diagnostics/_explain.py -> build/lib/dask/dataframe/dask_expr/diagnostics copying dask/dataframe/dask_expr/diagnostics/_analyze_plugin.py -> build/lib/dask/dataframe/dask_expr/diagnostics copying dask/dataframe/dask_expr/diagnostics/_analyze.py -> build/lib/dask/dataframe/dask_expr/diagnostics copying dask/dataframe/dask_expr/diagnostics/__init__.py -> build/lib/dask/dataframe/dask_expr/diagnostics creating build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_sql.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_parquet.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_io.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_from_pandas.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_distributed.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/test_delayed.py -> build/lib/dask/dataframe/dask_expr/io/tests copying dask/dataframe/dask_expr/io/tests/__init__.py -> build/lib/dask/dataframe/dask_expr/io/tests creating build/lib/dask/bytes/tests copying dask/bytes/tests/test_s3.py -> build/lib/dask/bytes/tests copying dask/bytes/tests/test_local.py -> build/lib/dask/bytes/tests copying dask/bytes/tests/test_http.py -> build/lib/dask/bytes/tests copying dask/bytes/tests/test_compression.py -> build/lib/dask/bytes/tests copying dask/bytes/tests/test_bytes_utils.py -> build/lib/dask/bytes/tests copying dask/bytes/tests/__init__.py -> build/lib/dask/bytes/tests creating build/lib/dask/bag/tests copying dask/bag/tests/test_text.py -> build/lib/dask/bag/tests copying dask/bag/tests/test_random.py -> build/lib/dask/bag/tests copying dask/bag/tests/test_bag.py -> build/lib/dask/bag/tests copying dask/bag/tests/test_avro.py -> build/lib/dask/bag/tests copying dask/bag/tests/__init__.py -> build/lib/dask/bag/tests creating build/lib/dask/array/tests copying dask/array/tests/test_array_core.py -> build/lib/dask/array/tests copying dask/array/tests/test_xarray.py -> build/lib/dask/array/tests copying dask/array/tests/test_wrap.py -> build/lib/dask/array/tests copying dask/array/tests/test_ufunc.py -> build/lib/dask/array/tests copying dask/array/tests/test_testing.py -> build/lib/dask/array/tests copying dask/array/tests/test_svg.py -> build/lib/dask/array/tests copying dask/array/tests/test_stats.py -> build/lib/dask/array/tests copying dask/array/tests/test_sparse.py -> build/lib/dask/array/tests copying dask/array/tests/test_slicing.py -> build/lib/dask/array/tests copying dask/array/tests/test_shuffle.py -> build/lib/dask/array/tests copying dask/array/tests/test_routines.py -> build/lib/dask/array/tests copying dask/array/tests/test_reshape.py -> build/lib/dask/array/tests copying dask/array/tests/test_reductions.py -> build/lib/dask/array/tests copying dask/array/tests/test_rechunk.py -> build/lib/dask/array/tests copying dask/array/tests/test_random.py -> build/lib/dask/array/tests copying dask/array/tests/test_percentiles.py -> build/lib/dask/array/tests copying dask/array/tests/test_overlap.py -> build/lib/dask/array/tests copying dask/array/tests/test_optimization.py -> build/lib/dask/array/tests copying dask/array/tests/test_numpy_compat.py -> build/lib/dask/array/tests copying dask/array/tests/test_masked.py -> build/lib/dask/array/tests copying dask/array/tests/test_map_blocks.py -> build/lib/dask/array/tests copying dask/array/tests/test_linalg.py -> build/lib/dask/array/tests copying dask/array/tests/test_image.py -> build/lib/dask/array/tests copying dask/array/tests/test_gufunc.py -> build/lib/dask/array/tests copying dask/array/tests/test_fft.py -> build/lib/dask/array/tests copying dask/array/tests/test_dispatch.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_sparse.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_slicing.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_routines.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_reductions.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_random.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_percentile.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_overlap.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_linalg.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_gufunc.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_creation.py -> build/lib/dask/array/tests copying dask/array/tests/test_cupy_core.py -> build/lib/dask/array/tests copying dask/array/tests/test_creation.py -> build/lib/dask/array/tests copying dask/array/tests/test_chunk.py -> build/lib/dask/array/tests copying dask/array/tests/test_atop.py -> build/lib/dask/array/tests copying dask/array/tests/test_array_utils.py -> build/lib/dask/array/tests copying dask/array/tests/test_array_function.py -> build/lib/dask/array/tests copying dask/array/tests/test_array_expr_incompatible.py -> build/lib/dask/array/tests copying dask/array/tests/test_api.py -> build/lib/dask/array/tests copying dask/array/tests/__init__.py -> build/lib/dask/array/tests creating build/lib/dask/array/lib copying dask/array/lib/stride_tricks.py -> build/lib/dask/array/lib copying dask/array/lib/__init__.py -> build/lib/dask/array/lib creating build/lib/dask/array/_array_expr copying dask/array/_array_expr/random.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_utils.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_ufunc.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_slicing.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_shuffle.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_reductions.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_rechunk.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_overlap.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_map_blocks.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_io.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_gufunc.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_expr.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_creation.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_collection.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_blockwise.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/_backends.py -> build/lib/dask/array/_array_expr copying dask/array/_array_expr/__init__.py -> build/lib/dask/array/_array_expr creating build/lib/dask/array/_array_expr/tests copying dask/array/_array_expr/tests/test_collection.py -> build/lib/dask/array/_array_expr/tests copying dask/array/_array_expr/tests/__init__.py -> build/lib/dask/array/_array_expr/tests running egg_info writing dask.egg-info/PKG-INFO writing dependency_links to dask.egg-info/dependency_links.txt writing entry points to dask.egg-info/entry_points.txt writing requirements to dask.egg-info/requires.txt writing top-level names to dask.egg-info/top_level.txt reading manifest file 'dask.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'versioneer.py' adding license file 'LICENSE.txt' adding license file 'dask/array/NUMPY_LICENSE.txt' writing manifest file 'dask.egg-info/SOURCES.txt' /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'dask.widgets.templates' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'dask.widgets.templates' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'dask.widgets.templates' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'dask.widgets.templates' to be distributed and are already explicitly excluding 'dask.widgets.templates' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'dask.widgets.tests' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'dask.widgets.tests' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'dask.widgets.tests' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'dask.widgets.tests' to be distributed and are already explicitly excluding 'dask.widgets.tests' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) /usr/lib/python3.14/site-packages/setuptools/command/build_py.py:212: _Warning: Package 'dask.widgets.tests.templates' is absent from the `packages` configuration. !! ******************************************************************************** ############################ # Package would be ignored # ############################ Python recognizes 'dask.widgets.tests.templates' as an importable package[^1], but it is absent from setuptools' `packages` configuration. This leads to an ambiguous overall configuration. If you want to distribute this package, please make sure that 'dask.widgets.tests.templates' is explicitly added to the `packages` configuration field. Alternatively, you can also rely on setuptools' discovery methods (for example by using `find_namespace_packages(...)`/`find_namespace:` instead of `find_packages(...)`/`find:`). You can read more about "package discovery" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html If you don't want 'dask.widgets.tests.templates' to be distributed and are already explicitly excluding 'dask.widgets.tests.templates' via `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, you can try to use `exclude_package_data`, or `include-package-data=False` in combination with a more fine grained `package-data` configuration. You can read more about "package data files" on setuptools documentation page: - https://setuptools.pypa.io/en/latest/userguide/datafiles.html [^1]: For Python, any directory (with suitable naming) can be imported, even if it does not contain any `.py` files. On the other hand, currently there is no concept of package data directory, all directories are treated like packages. ******************************************************************************** !! check.warn(importable) copying dask/dask-schema.yaml -> build/lib/dask copying dask/dask.yaml -> build/lib/dask copying dask/py.typed -> build/lib/dask creating build/lib/dask/widgets/templates copying dask/widgets/templates/array.html.j2 -> build/lib/dask/widgets/templates copying dask/widgets/templates/dataframe.html.j2 -> build/lib/dask/widgets/templates copying dask/widgets/templates/highlevelgraph.html.j2 -> build/lib/dask/widgets/templates copying dask/widgets/templates/highlevelgraph_layer.html.j2 -> build/lib/dask/widgets/templates creating build/lib/dask/widgets/tests copying dask/widgets/tests/test_widgets.py -> build/lib/dask/widgets/tests creating build/lib/dask/widgets/tests/templates copying dask/widgets/tests/templates/bytes.html.j2 -> build/lib/dask/widgets/tests/templates copying dask/widgets/tests/templates/custom_filter.html.j2 -> build/lib/dask/widgets/tests/templates copying dask/widgets/tests/templates/example.html.j2 -> build/lib/dask/widgets/tests/templates copying dask/array/NUMPY_LICENSE.txt -> build/lib/dask/array UPDATING build/lib/dask/_version.py set build/lib/dask/_version.py to '2025.4.1' installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/dask copying build/lib/dask/py.typed -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/dask.yaml -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/dask-schema.yaml -> build/bdist.linux-x86_64/wheel/./dask creating build/bdist.linux-x86_64/wheel/dask/array copying build/lib/dask/array/NUMPY_LICENSE.txt -> build/bdist.linux-x86_64/wheel/./dask/array creating build/bdist.linux-x86_64/wheel/dask/array/_array_expr creating build/bdist.linux-x86_64/wheel/dask/array/_array_expr/tests copying build/lib/dask/array/_array_expr/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr/tests copying build/lib/dask/array/_array_expr/tests/test_collection.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr/tests copying build/lib/dask/array/_array_expr/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_backends.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_blockwise.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_collection.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_creation.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_expr.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_gufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_io.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_map_blocks.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_overlap.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_rechunk.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_reductions.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_slicing.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_ufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/_utils.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr copying build/lib/dask/array/_array_expr/random.py -> build/bdist.linux-x86_64/wheel/./dask/array/_array_expr creating build/bdist.linux-x86_64/wheel/dask/array/lib copying build/lib/dask/array/lib/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/array/lib copying build/lib/dask/array/lib/stride_tricks.py -> build/bdist.linux-x86_64/wheel/./dask/array/lib creating build/bdist.linux-x86_64/wheel/dask/array/tests copying build/lib/dask/array/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_api.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_array_expr_incompatible.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_array_function.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_array_utils.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_atop.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_chunk.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_creation.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_core.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_creation.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_gufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_linalg.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_overlap.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_percentile.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_random.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_reductions.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_routines.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_slicing.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_cupy_sparse.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_dispatch.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_fft.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_gufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_image.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_linalg.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_map_blocks.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_masked.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_numpy_compat.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_optimization.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_overlap.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_percentiles.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_random.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_rechunk.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_reductions.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_reshape.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_routines.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_slicing.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_sparse.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_stats.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_svg.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_testing.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_ufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_wrap.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_xarray.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/tests/test_array_core.py -> build/bdist.linux-x86_64/wheel/./dask/array/tests copying build/lib/dask/array/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/_reductions_generic.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/api.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/backends.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/blockwise.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/chunk.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/chunk_types.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/core.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/creation.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/cupy_entry_point.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/dispatch.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/einsumfuncs.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/fft.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/gufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/image.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/linalg.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/ma.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/numpy_compat.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/optimization.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/overlap.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/percentile.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/random.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/rechunk.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/reductions.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/reshape.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/routines.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/slicing.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/stats.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/svg.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/tiledb_io.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/ufunc.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/utils.py -> build/bdist.linux-x86_64/wheel/./dask/array copying build/lib/dask/array/wrap.py -> build/bdist.linux-x86_64/wheel/./dask/array creating build/bdist.linux-x86_64/wheel/dask/bag creating build/bdist.linux-x86_64/wheel/dask/bag/tests copying build/lib/dask/bag/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/bag/tests copying build/lib/dask/bag/tests/test_avro.py -> build/bdist.linux-x86_64/wheel/./dask/bag/tests copying build/lib/dask/bag/tests/test_bag.py -> build/bdist.linux-x86_64/wheel/./dask/bag/tests copying build/lib/dask/bag/tests/test_random.py -> build/bdist.linux-x86_64/wheel/./dask/bag/tests copying build/lib/dask/bag/tests/test_text.py -> build/bdist.linux-x86_64/wheel/./dask/bag/tests copying build/lib/dask/bag/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/avro.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/chunk.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/core.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/random.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/text.py -> build/bdist.linux-x86_64/wheel/./dask/bag copying build/lib/dask/bag/utils.py -> build/bdist.linux-x86_64/wheel/./dask/bag creating build/bdist.linux-x86_64/wheel/dask/bytes creating build/bdist.linux-x86_64/wheel/dask/bytes/tests copying build/lib/dask/bytes/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/tests/test_bytes_utils.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/tests/test_compression.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/tests/test_http.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/tests/test_local.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/tests/test_s3.py -> build/bdist.linux-x86_64/wheel/./dask/bytes/tests copying build/lib/dask/bytes/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/bytes copying build/lib/dask/bytes/core.py -> build/bdist.linux-x86_64/wheel/./dask/bytes copying build/lib/dask/bytes/utils.py -> build/bdist.linux-x86_64/wheel/./dask/bytes creating build/bdist.linux-x86_64/wheel/dask/dataframe creating build/bdist.linux-x86_64/wheel/dask/dataframe/dask_expr creating build/bdist.linux-x86_64/wheel/dask/dataframe/dask_expr/diagnostics copying build/lib/dask/dataframe/dask_expr/diagnostics/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/diagnostics copying build/lib/dask/dataframe/dask_expr/diagnostics/_analyze.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/diagnostics copying build/lib/dask/dataframe/dask_expr/diagnostics/_analyze_plugin.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/diagnostics copying build/lib/dask/dataframe/dask_expr/diagnostics/_explain.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/diagnostics creating build/bdist.linux-x86_64/wheel/dask/dataframe/dask_expr/io creating build/bdist.linux-x86_64/wheel/dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_delayed.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_distributed.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_from_pandas.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_io.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_parquet.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/tests/test_sql.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io/tests copying build/lib/dask/dataframe/dask_expr/io/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io copying build/lib/dask/dataframe/dask_expr/io/_delayed.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io copying build/lib/dask/dataframe/dask_expr/io/bag.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io copying build/lib/dask/dataframe/dask_expr/io/io.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io copying build/lib/dask/dataframe/dask_expr/io/parquet.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io copying build/lib/dask/dataframe/dask_expr/io/records.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/io creating build/bdist.linux-x86_64/wheel/dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/_util.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_align_partitions.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_categorical.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_collection.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_concat.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_core.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_cumulative.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_datasets.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_datetime.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_describe.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_diagnostics.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_distributed.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_dummies.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_format.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_fusion.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_groupby.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_indexing.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_interchange.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_merge.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_merge_asof.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_predicate_pushdown.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_quantiles.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_reductions.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_repartition.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_reshape.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_rolling.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_string_accessor.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/tests/test_ufunc.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr/tests copying build/lib/dask/dataframe/dask_expr/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_accessor.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_backends.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_categorical.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_collection.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_concat.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_cumulative.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_datetime.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_describe.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_dummies.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_expr.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_groupby.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_indexing.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_interchange.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_merge.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_merge_asof.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_quantile.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_quantiles.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_reductions.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_repartition.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_rolling.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_str_accessor.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_util.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/_version.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr copying build/lib/dask/dataframe/dask_expr/datasets.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/dask_expr creating build/bdist.linux-x86_64/wheel/dask/dataframe/io creating build/bdist.linux-x86_64/wheel/dask/dataframe/io/orc copying build/lib/dask/dataframe/io/orc/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/orc copying build/lib/dask/dataframe/io/orc/arrow.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/orc copying build/lib/dask/dataframe/io/orc/core.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/orc copying build/lib/dask/dataframe/io/orc/utils.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/orc creating build/bdist.linux-x86_64/wheel/dask/dataframe/io/parquet copying build/lib/dask/dataframe/io/parquet/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/parquet copying build/lib/dask/dataframe/io/parquet/arrow.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/parquet copying build/lib/dask/dataframe/io/parquet/core.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/parquet copying build/lib/dask/dataframe/io/parquet/utils.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/parquet creating build/bdist.linux-x86_64/wheel/dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_csv.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_demo.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_hdf.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_io.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_json.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_orc.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_parquet.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/tests/test_sql.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io/tests copying build/lib/dask/dataframe/io/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/csv.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/demo.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/hdf.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/io.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/json.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/sql.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io copying build/lib/dask/dataframe/io/utils.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/io creating build/bdist.linux-x86_64/wheel/dask/dataframe/tests copying build/lib/dask/dataframe/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_accessors.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_api.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_arithmetics_reduction.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_boolean.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_categorical.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_dataframe.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_extensions.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_groupby.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_hashing.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_hyperloglog.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_indexing.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_merge_column_and_index.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_methods.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_multi.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_numeric.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_pyarrow.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_pyarrow_compat.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_reshape.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_rolling.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_ufunc.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests copying build/lib/dask/dataframe/tests/test_utils_dataframe.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tests creating build/bdist.linux-x86_64/wheel/dask/dataframe/tseries creating build/bdist.linux-x86_64/wheel/dask/dataframe/tseries/tests copying build/lib/dask/dataframe/tseries/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tseries/tests copying build/lib/dask/dataframe/tseries/tests/test_resample.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tseries/tests copying build/lib/dask/dataframe/tseries/tests/test_resample_expr.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tseries/tests copying build/lib/dask/dataframe/tseries/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tseries copying build/lib/dask/dataframe/tseries/resample.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe/tseries copying build/lib/dask/dataframe/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/_compat.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/_dtypes.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/_pyarrow.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/_pyarrow_compat.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/accessor.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/api.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/backends.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/categorical.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/core.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/dispatch.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/extensions.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/groupby.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/hyperloglog.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/indexing.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/methods.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/multi.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/partitionquantiles.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/rolling.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/shuffle.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe copying build/lib/dask/dataframe/utils.py -> build/bdist.linux-x86_64/wheel/./dask/dataframe creating build/bdist.linux-x86_64/wheel/dask/diagnostics creating build/bdist.linux-x86_64/wheel/dask/diagnostics/tests copying build/lib/dask/diagnostics/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics/tests copying build/lib/dask/diagnostics/tests/test_profiler.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics/tests copying build/lib/dask/diagnostics/tests/test_progress.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics/tests copying build/lib/dask/diagnostics/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics copying build/lib/dask/diagnostics/profile.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics copying build/lib/dask/diagnostics/profile_visualize.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics copying build/lib/dask/diagnostics/progress.py -> build/bdist.linux-x86_64/wheel/./dask/diagnostics creating build/bdist.linux-x86_64/wheel/dask/tests copying build/lib/dask/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_backends.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_base.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_cache.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_callbacks.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_ci.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_cli.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_compatibility.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_config.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_context.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_core.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_datasets.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_delayed.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_distributed.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_docs.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_dot.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_expr.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_graph_manipulation.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_hashing.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_highgraph.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_hlgexpr.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_imports.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_layers.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_local.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_ml.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_multiprocessing.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_optimization.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_order.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_rewrite.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_sizeof.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_spark_compat.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_system.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_task_spec.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_threaded.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_tokenize.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_traceback.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_typing.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_utils.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/test_utils_test.py -> build/bdist.linux-x86_64/wheel/./dask/tests copying build/lib/dask/tests/warning_aliases.py -> build/bdist.linux-x86_64/wheel/./dask/tests creating build/bdist.linux-x86_64/wheel/dask/widgets creating build/bdist.linux-x86_64/wheel/dask/widgets/tests creating build/bdist.linux-x86_64/wheel/dask/widgets/tests/templates copying build/lib/dask/widgets/tests/templates/example.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/tests/templates copying build/lib/dask/widgets/tests/templates/custom_filter.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/tests/templates copying build/lib/dask/widgets/tests/templates/bytes.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/tests/templates copying build/lib/dask/widgets/tests/test_widgets.py -> build/bdist.linux-x86_64/wheel/./dask/widgets/tests creating build/bdist.linux-x86_64/wheel/dask/widgets/templates copying build/lib/dask/widgets/templates/highlevelgraph_layer.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/templates copying build/lib/dask/widgets/templates/highlevelgraph.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/templates copying build/lib/dask/widgets/templates/dataframe.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/templates copying build/lib/dask/widgets/templates/array.html.j2 -> build/bdist.linux-x86_64/wheel/./dask/widgets/templates copying build/lib/dask/widgets/__init__.py -> build/bdist.linux-x86_64/wheel/./dask/widgets copying build/lib/dask/widgets/widgets.py -> build/bdist.linux-x86_64/wheel/./dask/widgets copying build/lib/dask/__init__.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/__main__.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_collections.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_compatibility.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_dispatch.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_expr.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_task_spec.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/_version.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/backends.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/base.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/blockwise.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/cache.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/callbacks.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/cli.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/config.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/conftest.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/context.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/core.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/datasets.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/delayed.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/distributed.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/dot.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/graph_manipulation.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/hashing.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/highlevelgraph.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/layers.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/local.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/ml.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/multiprocessing.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/optimization.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/order.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/rewrite.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/sizeof.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/system.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/task_spec.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/threaded.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/tokenize.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/typing.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/utils.py -> build/bdist.linux-x86_64/wheel/./dask copying build/lib/dask/utils_test.py -> build/bdist.linux-x86_64/wheel/./dask running install_egg_info Copying dask.egg-info to build/bdist.linux-x86_64/wheel/./dask-2025.4.1-py3.14.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/dask-2025.4.1.dist-info/WHEEL creating '/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir/pip-wheel-2tg58v5z/.tmp-6ytdnkpg/dask-2025.4.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'dask/__init__.py' adding 'dask/__main__.py' adding 'dask/_collections.py' adding 'dask/_compatibility.py' adding 'dask/_dispatch.py' adding 'dask/_expr.py' adding 'dask/_task_spec.py' adding 'dask/_version.py' adding 'dask/backends.py' adding 'dask/base.py' adding 'dask/blockwise.py' adding 'dask/cache.py' adding 'dask/callbacks.py' adding 'dask/cli.py' adding 'dask/config.py' adding 'dask/conftest.py' adding 'dask/context.py' adding 'dask/core.py' adding 'dask/dask-schema.yaml' adding 'dask/dask.yaml' adding 'dask/datasets.py' adding 'dask/delayed.py' adding 'dask/distributed.py' adding 'dask/dot.py' adding 'dask/graph_manipulation.py' adding 'dask/hashing.py' adding 'dask/highlevelgraph.py' adding 'dask/layers.py' adding 'dask/local.py' adding 'dask/ml.py' adding 'dask/multiprocessing.py' adding 'dask/optimization.py' adding 'dask/order.py' adding 'dask/py.typed' adding 'dask/rewrite.py' adding 'dask/sizeof.py' adding 'dask/system.py' adding 'dask/task_spec.py' adding 'dask/threaded.py' adding 'dask/tokenize.py' adding 'dask/typing.py' adding 'dask/utils.py' adding 'dask/utils_test.py' adding 'dask/array/NUMPY_LICENSE.txt' adding 'dask/array/__init__.py' adding 'dask/array/_reductions_generic.py' adding 'dask/array/_shuffle.py' adding 'dask/array/api.py' adding 'dask/array/backends.py' adding 'dask/array/blockwise.py' adding 'dask/array/chunk.py' adding 'dask/array/chunk_types.py' adding 'dask/array/core.py' adding 'dask/array/creation.py' adding 'dask/array/cupy_entry_point.py' adding 'dask/array/dispatch.py' adding 'dask/array/einsumfuncs.py' adding 'dask/array/fft.py' adding 'dask/array/gufunc.py' adding 'dask/array/image.py' adding 'dask/array/linalg.py' adding 'dask/array/ma.py' adding 'dask/array/numpy_compat.py' adding 'dask/array/optimization.py' adding 'dask/array/overlap.py' adding 'dask/array/percentile.py' adding 'dask/array/random.py' adding 'dask/array/rechunk.py' adding 'dask/array/reductions.py' adding 'dask/array/reshape.py' adding 'dask/array/routines.py' adding 'dask/array/slicing.py' adding 'dask/array/stats.py' adding 'dask/array/svg.py' adding 'dask/array/tiledb_io.py' adding 'dask/array/ufunc.py' adding 'dask/array/utils.py' adding 'dask/array/wrap.py' adding 'dask/array/_array_expr/__init__.py' adding 'dask/array/_array_expr/_backends.py' adding 'dask/array/_array_expr/_blockwise.py' adding 'dask/array/_array_expr/_collection.py' adding 'dask/array/_array_expr/_creation.py' adding 'dask/array/_array_expr/_expr.py' adding 'dask/array/_array_expr/_gufunc.py' adding 'dask/array/_array_expr/_io.py' adding 'dask/array/_array_expr/_map_blocks.py' adding 'dask/array/_array_expr/_overlap.py' adding 'dask/array/_array_expr/_rechunk.py' adding 'dask/array/_array_expr/_reductions.py' adding 'dask/array/_array_expr/_shuffle.py' adding 'dask/array/_array_expr/_slicing.py' adding 'dask/array/_array_expr/_ufunc.py' adding 'dask/array/_array_expr/_utils.py' adding 'dask/array/_array_expr/random.py' adding 'dask/array/_array_expr/tests/__init__.py' adding 'dask/array/_array_expr/tests/test_collection.py' adding 'dask/array/lib/__init__.py' adding 'dask/array/lib/stride_tricks.py' adding 'dask/array/tests/__init__.py' adding 'dask/array/tests/test_api.py' adding 'dask/array/tests/test_array_core.py' adding 'dask/array/tests/test_array_expr_incompatible.py' adding 'dask/array/tests/test_array_function.py' adding 'dask/array/tests/test_array_utils.py' adding 'dask/array/tests/test_atop.py' adding 'dask/array/tests/test_chunk.py' adding 'dask/array/tests/test_creation.py' adding 'dask/array/tests/test_cupy_core.py' adding 'dask/array/tests/test_cupy_creation.py' adding 'dask/array/tests/test_cupy_gufunc.py' adding 'dask/array/tests/test_cupy_linalg.py' adding 'dask/array/tests/test_cupy_overlap.py' adding 'dask/array/tests/test_cupy_percentile.py' adding 'dask/array/tests/test_cupy_random.py' adding 'dask/array/tests/test_cupy_reductions.py' adding 'dask/array/tests/test_cupy_routines.py' adding 'dask/array/tests/test_cupy_slicing.py' adding 'dask/array/tests/test_cupy_sparse.py' adding 'dask/array/tests/test_dispatch.py' adding 'dask/array/tests/test_fft.py' adding 'dask/array/tests/test_gufunc.py' adding 'dask/array/tests/test_image.py' adding 'dask/array/tests/test_linalg.py' adding 'dask/array/tests/test_map_blocks.py' adding 'dask/array/tests/test_masked.py' adding 'dask/array/tests/test_numpy_compat.py' adding 'dask/array/tests/test_optimization.py' adding 'dask/array/tests/test_overlap.py' adding 'dask/array/tests/test_percentiles.py' adding 'dask/array/tests/test_random.py' adding 'dask/array/tests/test_rechunk.py' adding 'dask/array/tests/test_reductions.py' adding 'dask/array/tests/test_reshape.py' adding 'dask/array/tests/test_routines.py' adding 'dask/array/tests/test_shuffle.py' adding 'dask/array/tests/test_slicing.py' adding 'dask/array/tests/test_sparse.py' adding 'dask/array/tests/test_stats.py' adding 'dask/array/tests/test_svg.py' adding 'dask/array/tests/test_testing.py' adding 'dask/array/tests/test_ufunc.py' adding 'dask/array/tests/test_wrap.py' adding 'dask/array/tests/test_xarray.py' adding 'dask/bag/__init__.py' adding 'dask/bag/avro.py' adding 'dask/bag/chunk.py' adding 'dask/bag/core.py' adding 'dask/bag/random.py' adding 'dask/bag/text.py' adding 'dask/bag/utils.py' adding 'dask/bag/tests/__init__.py' adding 'dask/bag/tests/test_avro.py' adding 'dask/bag/tests/test_bag.py' adding 'dask/bag/tests/test_random.py' adding 'dask/bag/tests/test_text.py' adding 'dask/bytes/__init__.py' adding 'dask/bytes/core.py' adding 'dask/bytes/utils.py' adding 'dask/bytes/tests/__init__.py' adding 'dask/bytes/tests/test_bytes_utils.py' adding 'dask/bytes/tests/test_compression.py' adding 'dask/bytes/tests/test_http.py' adding 'dask/bytes/tests/test_local.py' adding 'dask/bytes/tests/test_s3.py' adding 'dask/dataframe/__init__.py' adding 'dask/dataframe/_compat.py' adding 'dask/dataframe/_dtypes.py' adding 'dask/dataframe/_pyarrow.py' adding 'dask/dataframe/_pyarrow_compat.py' adding 'dask/dataframe/accessor.py' adding 'dask/dataframe/api.py' adding 'dask/dataframe/backends.py' adding 'dask/dataframe/categorical.py' adding 'dask/dataframe/core.py' adding 'dask/dataframe/dispatch.py' adding 'dask/dataframe/extensions.py' adding 'dask/dataframe/groupby.py' adding 'dask/dataframe/hyperloglog.py' adding 'dask/dataframe/indexing.py' adding 'dask/dataframe/methods.py' adding 'dask/dataframe/multi.py' adding 'dask/dataframe/partitionquantiles.py' adding 'dask/dataframe/rolling.py' adding 'dask/dataframe/shuffle.py' adding 'dask/dataframe/utils.py' adding 'dask/dataframe/dask_expr/__init__.py' adding 'dask/dataframe/dask_expr/_accessor.py' adding 'dask/dataframe/dask_expr/_backends.py' adding 'dask/dataframe/dask_expr/_categorical.py' adding 'dask/dataframe/dask_expr/_collection.py' adding 'dask/dataframe/dask_expr/_concat.py' adding 'dask/dataframe/dask_expr/_cumulative.py' adding 'dask/dataframe/dask_expr/_datetime.py' adding 'dask/dataframe/dask_expr/_describe.py' adding 'dask/dataframe/dask_expr/_dummies.py' adding 'dask/dataframe/dask_expr/_expr.py' adding 'dask/dataframe/dask_expr/_groupby.py' adding 'dask/dataframe/dask_expr/_indexing.py' adding 'dask/dataframe/dask_expr/_interchange.py' adding 'dask/dataframe/dask_expr/_merge.py' adding 'dask/dataframe/dask_expr/_merge_asof.py' adding 'dask/dataframe/dask_expr/_quantile.py' adding 'dask/dataframe/dask_expr/_quantiles.py' adding 'dask/dataframe/dask_expr/_reductions.py' adding 'dask/dataframe/dask_expr/_repartition.py' adding 'dask/dataframe/dask_expr/_rolling.py' adding 'dask/dataframe/dask_expr/_shuffle.py' adding 'dask/dataframe/dask_expr/_str_accessor.py' adding 'dask/dataframe/dask_expr/_util.py' adding 'dask/dataframe/dask_expr/_version.py' adding 'dask/dataframe/dask_expr/datasets.py' adding 'dask/dataframe/dask_expr/diagnostics/__init__.py' adding 'dask/dataframe/dask_expr/diagnostics/_analyze.py' adding 'dask/dataframe/dask_expr/diagnostics/_analyze_plugin.py' adding 'dask/dataframe/dask_expr/diagnostics/_explain.py' adding 'dask/dataframe/dask_expr/io/__init__.py' adding 'dask/dataframe/dask_expr/io/_delayed.py' adding 'dask/dataframe/dask_expr/io/bag.py' adding 'dask/dataframe/dask_expr/io/io.py' adding 'dask/dataframe/dask_expr/io/parquet.py' adding 'dask/dataframe/dask_expr/io/records.py' adding 'dask/dataframe/dask_expr/io/tests/__init__.py' adding 'dask/dataframe/dask_expr/io/tests/test_delayed.py' adding 'dask/dataframe/dask_expr/io/tests/test_distributed.py' adding 'dask/dataframe/dask_expr/io/tests/test_from_pandas.py' adding 'dask/dataframe/dask_expr/io/tests/test_io.py' adding 'dask/dataframe/dask_expr/io/tests/test_parquet.py' adding 'dask/dataframe/dask_expr/io/tests/test_sql.py' adding 'dask/dataframe/dask_expr/tests/__init__.py' adding 'dask/dataframe/dask_expr/tests/_util.py' adding 'dask/dataframe/dask_expr/tests/test_align_partitions.py' adding 'dask/dataframe/dask_expr/tests/test_categorical.py' adding 'dask/dataframe/dask_expr/tests/test_collection.py' adding 'dask/dataframe/dask_expr/tests/test_concat.py' adding 'dask/dataframe/dask_expr/tests/test_core.py' adding 'dask/dataframe/dask_expr/tests/test_cumulative.py' adding 'dask/dataframe/dask_expr/tests/test_datasets.py' adding 'dask/dataframe/dask_expr/tests/test_datetime.py' adding 'dask/dataframe/dask_expr/tests/test_describe.py' adding 'dask/dataframe/dask_expr/tests/test_diagnostics.py' adding 'dask/dataframe/dask_expr/tests/test_distributed.py' adding 'dask/dataframe/dask_expr/tests/test_dummies.py' adding 'dask/dataframe/dask_expr/tests/test_format.py' adding 'dask/dataframe/dask_expr/tests/test_fusion.py' adding 'dask/dataframe/dask_expr/tests/test_groupby.py' adding 'dask/dataframe/dask_expr/tests/test_indexing.py' adding 'dask/dataframe/dask_expr/tests/test_interchange.py' adding 'dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py' adding 'dask/dataframe/dask_expr/tests/test_merge.py' adding 'dask/dataframe/dask_expr/tests/test_merge_asof.py' adding 'dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py' adding 'dask/dataframe/dask_expr/tests/test_predicate_pushdown.py' adding 'dask/dataframe/dask_expr/tests/test_quantiles.py' adding 'dask/dataframe/dask_expr/tests/test_reductions.py' adding 'dask/dataframe/dask_expr/tests/test_repartition.py' adding 'dask/dataframe/dask_expr/tests/test_reshape.py' adding 'dask/dataframe/dask_expr/tests/test_rolling.py' adding 'dask/dataframe/dask_expr/tests/test_shuffle.py' adding 'dask/dataframe/dask_expr/tests/test_string_accessor.py' adding 'dask/dataframe/dask_expr/tests/test_ufunc.py' adding 'dask/dataframe/io/__init__.py' adding 'dask/dataframe/io/csv.py' adding 'dask/dataframe/io/demo.py' adding 'dask/dataframe/io/hdf.py' adding 'dask/dataframe/io/io.py' adding 'dask/dataframe/io/json.py' adding 'dask/dataframe/io/sql.py' adding 'dask/dataframe/io/utils.py' adding 'dask/dataframe/io/orc/__init__.py' adding 'dask/dataframe/io/orc/arrow.py' adding 'dask/dataframe/io/orc/core.py' adding 'dask/dataframe/io/orc/utils.py' adding 'dask/dataframe/io/parquet/__init__.py' adding 'dask/dataframe/io/parquet/arrow.py' adding 'dask/dataframe/io/parquet/core.py' adding 'dask/dataframe/io/parquet/utils.py' adding 'dask/dataframe/io/tests/__init__.py' adding 'dask/dataframe/io/tests/test_csv.py' adding 'dask/dataframe/io/tests/test_demo.py' adding 'dask/dataframe/io/tests/test_hdf.py' adding 'dask/dataframe/io/tests/test_io.py' adding 'dask/dataframe/io/tests/test_json.py' adding 'dask/dataframe/io/tests/test_orc.py' adding 'dask/dataframe/io/tests/test_parquet.py' adding 'dask/dataframe/io/tests/test_sql.py' adding 'dask/dataframe/tests/__init__.py' adding 'dask/dataframe/tests/test_accessors.py' adding 'dask/dataframe/tests/test_api.py' adding 'dask/dataframe/tests/test_arithmetics_reduction.py' adding 'dask/dataframe/tests/test_boolean.py' adding 'dask/dataframe/tests/test_categorical.py' adding 'dask/dataframe/tests/test_dataframe.py' adding 'dask/dataframe/tests/test_extensions.py' adding 'dask/dataframe/tests/test_groupby.py' adding 'dask/dataframe/tests/test_hashing.py' adding 'dask/dataframe/tests/test_hyperloglog.py' adding 'dask/dataframe/tests/test_indexing.py' adding 'dask/dataframe/tests/test_merge_column_and_index.py' adding 'dask/dataframe/tests/test_methods.py' adding 'dask/dataframe/tests/test_multi.py' adding 'dask/dataframe/tests/test_numeric.py' adding 'dask/dataframe/tests/test_pyarrow.py' adding 'dask/dataframe/tests/test_pyarrow_compat.py' adding 'dask/dataframe/tests/test_reshape.py' adding 'dask/dataframe/tests/test_rolling.py' adding 'dask/dataframe/tests/test_shuffle.py' adding 'dask/dataframe/tests/test_ufunc.py' adding 'dask/dataframe/tests/test_utils_dataframe.py' adding 'dask/dataframe/tseries/__init__.py' adding 'dask/dataframe/tseries/resample.py' adding 'dask/dataframe/tseries/tests/__init__.py' adding 'dask/dataframe/tseries/tests/test_resample.py' adding 'dask/dataframe/tseries/tests/test_resample_expr.py' adding 'dask/diagnostics/__init__.py' adding 'dask/diagnostics/profile.py' adding 'dask/diagnostics/profile_visualize.py' adding 'dask/diagnostics/progress.py' adding 'dask/diagnostics/tests/__init__.py' adding 'dask/diagnostics/tests/test_profiler.py' adding 'dask/diagnostics/tests/test_progress.py' adding 'dask/tests/__init__.py' adding 'dask/tests/test_backends.py' adding 'dask/tests/test_base.py' adding 'dask/tests/test_cache.py' adding 'dask/tests/test_callbacks.py' adding 'dask/tests/test_ci.py' adding 'dask/tests/test_cli.py' adding 'dask/tests/test_compatibility.py' adding 'dask/tests/test_config.py' adding 'dask/tests/test_context.py' adding 'dask/tests/test_core.py' adding 'dask/tests/test_datasets.py' adding 'dask/tests/test_delayed.py' adding 'dask/tests/test_distributed.py' adding 'dask/tests/test_docs.py' adding 'dask/tests/test_dot.py' adding 'dask/tests/test_expr.py' adding 'dask/tests/test_graph_manipulation.py' adding 'dask/tests/test_hashing.py' adding 'dask/tests/test_highgraph.py' adding 'dask/tests/test_hlgexpr.py' adding 'dask/tests/test_imports.py' adding 'dask/tests/test_layers.py' adding 'dask/tests/test_local.py' adding 'dask/tests/test_ml.py' adding 'dask/tests/test_multiprocessing.py' adding 'dask/tests/test_optimization.py' adding 'dask/tests/test_order.py' adding 'dask/tests/test_rewrite.py' adding 'dask/tests/test_sizeof.py' adding 'dask/tests/test_spark_compat.py' adding 'dask/tests/test_system.py' adding 'dask/tests/test_task_spec.py' adding 'dask/tests/test_threaded.py' adding 'dask/tests/test_tokenize.py' adding 'dask/tests/test_traceback.py' adding 'dask/tests/test_typing.py' adding 'dask/tests/test_utils.py' adding 'dask/tests/test_utils_test.py' adding 'dask/tests/warning_aliases.py' adding 'dask/widgets/__init__.py' adding 'dask/widgets/widgets.py' adding 'dask/widgets/templates/array.html.j2' adding 'dask/widgets/templates/dataframe.html.j2' adding 'dask/widgets/templates/highlevelgraph.html.j2' adding 'dask/widgets/templates/highlevelgraph_layer.html.j2' adding 'dask/widgets/tests/test_widgets.py' adding 'dask/widgets/tests/templates/bytes.html.j2' adding 'dask/widgets/tests/templates/custom_filter.html.j2' adding 'dask/widgets/tests/templates/example.html.j2' adding 'dask-2025.4.1.dist-info/licenses/LICENSE.txt' adding 'dask-2025.4.1.dist-info/licenses/dask/array/NUMPY_LICENSE.txt' adding 'dask-2025.4.1.dist-info/METADATA' adding 'dask-2025.4.1.dist-info/WHEEL' adding 'dask-2025.4.1.dist-info/entry_points.txt' adding 'dask-2025.4.1.dist-info/top_level.txt' adding 'dask-2025.4.1.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for dask (pyproject.toml): finished with status 'done' Created wheel for dask: filename=dask-2025.4.1-py3-none-any.whl size=1469014 sha256=cdc4ee45bdfc7b9173388c39c7f7ebcdb98d27500ad8eac82049e6e8ce97a38b Stored in directory: /builddir/.cache/pip/wheels/48/e7/e2/10e8f902fd4f916e241407e8217e733096f389567bbf164b4b Successfully built dask + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.xdldxU + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + '[' /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-dask-2025.4.1-build + mkdir /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd dask-2025.4.1 ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' ++ ls /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir/dask-2025.4.1-py3-none-any.whl ++ xargs basename --multiple + specifier=dask==2025.4.1 + '[' -z dask==2025.4.1 ']' + TMPDIR=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir dask==2025.4.1 Using pip 25.1.1 from /usr/lib/python3.14/site-packages/pip (python 3.14) Looking in links: /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/pyproject-wheeldir Processing ./pyproject-wheeldir/dask-2025.4.1-py3-none-any.whl Installing collected packages: dask Creating /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin/dask to 755 Successfully installed dask-2025.4.1 + '[' -d /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin/dask /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin/dask: updating + rm -rfv /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + site_dirs+=("/usr/lib/python3.14/site-packages") + '[' /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib64/python3.14/site-packages '!=' /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages ']' + '[' -d /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib64/python3.14/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT --record /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/RECORD --output /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/RECORD removed '/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/REQUESTED removed '/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask-2025.4.1.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT --sitelib /usr/lib/python3.14/site-packages --sitearch /usr/lib64/python3.14/site-packages --python-version 3.14 --pyproject-record /builddir/build/BUILD/python-dask-2025.4.1-build/python-dask-2025.4.1-3.fc43~bootstrap.x86_64-pyproject-record --prefix /usr -l dask + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14 using python3.14 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j2 /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/utils_test.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/utils_test.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/typing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/threaded.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/task_spec.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/system.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/tokenize.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/sizeof.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/order.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/rewrite.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/ml.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/local.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/order.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/optimization.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/local.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/optimization.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/layers.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/multiprocessing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/hashing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/graph_manipulation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/highlevelgraph.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/graph_manipulation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/highlevelgraph.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/distributed.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/datasets.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/dot.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/delayed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/core.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/context.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/conftest.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/delayed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/cli.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/callbacks.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/config.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/cache.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/cache.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/blockwise.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/blockwise.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/base.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/backends.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_version.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/base.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_task_spec.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_task_spec.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_expr.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_compatibility.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_dispatch.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_compatibility.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_collections.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/__main__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/widgets/__pycache__/widgets.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/widgets/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/widgets/tests/__pycache__/test_widgets.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/widgets/tests/__pycache__/test_widgets.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/warning_aliases.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_utils_test.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_utils_test.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/__pycache__/_expr.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_typing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_typing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_traceback.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_traceback.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_order.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_tokenize.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_tokenize.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_threaded.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_threaded.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_order.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_task_spec.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_optimization.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_system.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_task_spec.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_optimization.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_system.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_spark_compat.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_spark_compat.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_sizeof.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_rewrite.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_rewrite.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_sizeof.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_multiprocessing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_local.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_multiprocessing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_ml.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_ml.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_local.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_dot.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_layers.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_layers.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_imports.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_hlgexpr.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_docs.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_docs.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_dot.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_hlgexpr.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_highgraph.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_highgraph.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_distributed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_hashing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_hashing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_graph_manipulation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_graph_manipulation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_distributed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_expr.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_expr.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_datasets.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_datasets.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_delayed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_context.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_context.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_config.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_cache.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_cache.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_delayed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_config.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_compatibility.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_compatibility.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_cli.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_base.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_cli.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_ci.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_ci.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_callbacks.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_callbacks.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_backends.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_backends.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/__pycache__/profile_visualize.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/__pycache__/profile.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/__pycache__/progress.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/tests/__pycache__/test_progress.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/tests/__pycache__/test_base.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/tests/__pycache__/test_progress.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/tests/__pycache__/test_profiler.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/tests/__pycache__/test_profiler.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/diagnostics/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/shuffle.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/rolling.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/partitionquantiles.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/multi.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/methods.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/indexing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/methods.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/indexing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/hyperloglog.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/dispatch.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/groupby.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/extensions.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/groupby.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/categorical.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/core.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/api.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/accessor.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/_pyarrow_compat.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/_pyarrow.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/_dtypes.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/_compat.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/_compat.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/__pycache__/backends.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/__pycache__/resample.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/tests/__pycache__/test_resample_expr.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/tests/__pycache__/test_resample_expr.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/tests/__pycache__/test_resample.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_hashing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tseries/tests/__pycache__/test_resample.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_utils_dataframe.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_utils_dataframe.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_ufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_groupby.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_ufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_groupby.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_shuffle.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_extensions.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_extensions.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_shuffle.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_rolling.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_rolling.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_reshape.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_reshape.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_pyarrow_compat.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_pyarrow_compat.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_pyarrow.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_pyarrow.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_numeric.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_numeric.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_multi.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_dataframe.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_multi.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_methods.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_methods.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_merge_column_and_index.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_merge_column_and_index.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_indexing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_indexing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_hyperloglog.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_hyperloglog.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_categorical.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_categorical.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_boolean.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_boolean.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_arithmetics_reduction.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_arithmetics_reduction.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_accessors.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_accessors.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_api.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_api.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/sql.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/hdf.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/hdf.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/json.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/tests/__pycache__/test_dataframe.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/demo.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/io.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/__pycache__/csv.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_sql.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_sql.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_io.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_io.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_hdf.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_parquet.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_hdf.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_demo.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_demo.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_parquet.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_csv.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_orc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_orc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_json.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_json.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/tests/__pycache__/test_csv.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/arrow.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/arrow.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/orc/__pycache__/utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/__pycache__/core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/orc/__pycache__/core.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/orc/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/orc/__pycache__/arrow.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/datasets.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/datasets.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_version.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_util.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_version.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_str_accessor.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_repartition.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_repartition.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_shuffle.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_shuffle.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_rolling.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_reductions.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_quantiles.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_quantile.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_quantile.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_merge_asof.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_merge.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_groupby.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_interchange.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_indexing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_indexing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_datetime.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_cumulative.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_concat.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_expr.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_collection.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_expr.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_dummies.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_describe.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_categorical.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_backends.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_collection.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_ufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_ufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_string_accessor.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/__pycache__/_accessor.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_string_accessor.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_rolling.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_rolling.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_shuffle.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_reshape.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_repartition.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_repartition.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_shuffle.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_reductions.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_reductions.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_quantiles.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_predicate_pushdown.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_merge.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_predicate_pushdown.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_partitioning_knowledge.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_partitioning_knowledge.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_merge_asof.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_merge.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_map_partitions_overlap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_map_partitions_overlap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_interchange.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_interchange.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_indexing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_indexing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_groupby.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_groupby.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_collection.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_fusion.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_fusion.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_format.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_format.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_dummies.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_distributed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_distributed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_diagnostics.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_diagnostics.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_describe.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_datetime.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_datasets.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_datasets.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_cumulative.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_concat.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_collection.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_concat.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_categorical.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_categorical.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_align_partitions.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/test_align_partitions.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/__pycache__/_util.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/records.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/parquet.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/parquet.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/io.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/bag.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/io.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_sql.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/__pycache__/_delayed.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_parquet.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_parquet.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_io.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_from_pandas.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_from_pandas.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_distributed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_distributed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_io.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_delayed.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/tests/__pycache__/test_delayed.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/diagnostics/__pycache__/_analyze.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/diagnostics/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/diagnostics/__pycache__/_explain.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/diagnostics/__pycache__/_analyze_plugin.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/diagnostics/__pycache__/_analyze_plugin.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/__pycache__/utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/__pycache__/core.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_s3.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_s3.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_local.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_http.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_http.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_compression.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_compression.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_local.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_bytes_utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bytes/tests/__pycache__/test_bytes_utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/text.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/random.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/chunk.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/avro.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/avro.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_text.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_text.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_random.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_random.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_bag.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_avro.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_avro.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/wrap.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/tests/__pycache__/test_bag.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/tiledb_io.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/tiledb_io.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/svg.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/ufunc.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/stats.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/reshape.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/reshape.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/slicing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/slicing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/reductions.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/reductions.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/routines.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/rechunk.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/rechunk.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/routines.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/dispatch.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/cupy_entry_point.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/random.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/creation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/percentile.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/creation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/overlap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/overlap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/optimization.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/numpy_compat.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/ma.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/linalg.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/image.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/gufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/gufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/fft.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/fft.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/einsumfuncs.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/chunk_types.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/chunk.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/chunk.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/blockwise.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/backends.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/backends.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/api.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/_shuffle.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/_shuffle.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/_reductions_generic.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_routines.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_xarray.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_xarray.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_routines.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_wrap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_wrap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_ufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_testing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_ufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_svg.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_svg.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_stats.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_stats.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_sparse.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_sparse.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_reshape.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_slicing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_reshape.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_reductions.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_slicing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_shuffle.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_shuffle.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_random.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_reductions.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_random.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_percentiles.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_percentiles.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_rechunk.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_overlap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_rechunk.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_numpy_compat.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_numpy_compat.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_masked.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_optimization.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_optimization.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_overlap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_expr_incompatible.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_expr_incompatible.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_masked.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_map_blocks.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_map_blocks.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_linalg.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_linalg.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_image.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_image.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_gufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_gufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_fft.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_fft.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_dispatch.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_dispatch.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_sparse.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_sparse.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_slicing.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_routines.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_routines.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_reductions.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_random.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_random.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_percentile.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_percentile.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_overlap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_overlap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_linalg.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_linalg.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_gufunc.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_creation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_creation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_core.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_cupy_core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_creation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_creation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_chunk.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_chunk.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_atop.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_atop.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_utils.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_utils.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_function.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_function.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_api.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_api.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/lib/__pycache__/stride_tricks.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/lib/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/random.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_utils.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_ufunc.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/tests/__pycache__/test_array_core.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_overlap.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_slicing.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_overlap.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_slicing.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_map_blocks.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_shuffle.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_io.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_reductions.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_rechunk.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_gufunc.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_rechunk.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_gufunc.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_expr.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_creation.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_creation.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_collection.cpython-314.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_blockwise.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_backends.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/tests/__pycache__/__init__.cpython-314.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/__pycache__/_collection.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/tests/__pycache__/test_collection.cpython-314.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/array/_array_expr/tests/__pycache__/test_collection.cpython-314.pyc: replacing with normalized version Scanned 68 directories and 1099 files, processed 567 inodes, 567 modified (414 replaced + 153 rewritten), 0 unsupported format, 0 errors Reading /builddir/build/BUILD/python-dask-2025.4.1-build/SPECPARTS/rpm-debuginfo.specpart Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.txOTKE + umask 022 + cd /builddir/build/BUILD/python-dask-2025.4.1-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd dask-2025.4.1 + k='not test_development_guidelines_matches_ci' + pytest_args=(-m 'not network' -n "auto" -k "${k-}" --timeout_method=signal --import-mode=importlib) + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib64/python3.14/site-packages:/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest -m 'not network' -n auto -k 'not test_development_guidelines_matches_ci' --timeout_method=signal --import-mode=importlib ============================= test session starts ============================== platform linux -- Python 3.14.0rc1, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3 cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/.hypothesis/examples')) rootdir: /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1 configfile: pyproject.toml plugins: timeout-2.4.0, rerunfailures-15.0, mock-3.14.1, xdist-3.7.0, hypothesis-6.123.0 timeout: 300.0s timeout method: signal timeout func_only: False created: 2/2 workers 2 workers [17583 items] scheduling tests via LoadScheduling dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__add__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__add__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__sub__] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-bool] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__sub__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__mul__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__mul__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__truediv__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__truediv__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__floordiv__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__floordiv__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__pow__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__pow__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__radd__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__radd__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rsub__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rsub__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rmul__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rmul__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rtruediv__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rtruediv__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rfloordiv__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rfloordiv__] dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rpow__] [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_arithmetic_ops[__rpow__] dask/array/_array_expr/tests/test_collection.py::test_rechunk [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_rechunk dask/array/_array_expr/tests/test_collection.py::test_blockwise [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_blockwise dask/array/_array_expr/tests/test_collection.py::test_reductions[min] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[min] dask/array/_array_expr/tests/test_collection.py::test_reductions[max] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[max] dask/array/_array_expr/tests/test_collection.py::test_reductions[sum] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[sum] dask/array/_array_expr/tests/test_collection.py::test_reductions[prod] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[prod] dask/array/_array_expr/tests/test_collection.py::test_reductions[mean] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-uint8] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[mean] dask/array/_array_expr/tests/test_collection.py::test_reductions[any] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[any] dask/array/_array_expr/tests/test_collection.py::test_reductions[all] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions[all] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[sum] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[sum] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[mean] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[mean] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[any] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[any] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-int16] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[all] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[all] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[max] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[max] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[min] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[min] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmin] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmin] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmax] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmax] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmean] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-float32] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanmean] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nansum] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nansum] dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanprod] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_reductions_toplevel[nanprod] dask/array/_array_expr/tests/test_collection.py::test_from_array [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_from_array dask/array/_array_expr/tests/test_collection.py::test_is_dask_collection_doesnt_materialize [gw0] [ 0%] SKIPPED dask/array/_array_expr/tests/test_collection.py::test_is_dask_collection_doesnt_materialize dask/array/_array_expr/tests/test_collection.py::test_astype [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-bool] [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_astype dask/array/_array_expr/tests/test_collection.py::test_stack_promote_type [gw0] [ 0%] PASSED dask/array/_array_expr/tests/test_collection.py::test_stack_promote_type dask/array/tests/test_api.py::test_api [gw0] [ 0%] PASSED dask/array/tests/test_api.py::test_api dask/array/tests/test_array_core.py::test_graph_from_arraylike[True] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_graph_from_arraylike[True] dask/array/tests/test_array_core.py::test_graph_from_arraylike[False] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_graph_from_arraylike[False] dask/array/tests/test_array_core.py::test_top [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_top dask/array/tests/test_array_core.py::test_top_supports_broadcasting_rules [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_top_supports_broadcasting_rules dask/array/tests/test_array_core.py::test_top_literals [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_top_literals dask/array/tests/test_array_core.py::test_blockwise_literals [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-uint8] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_blockwise_literals dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_I [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_I dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_II [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_II dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_III [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_blockwise_1_in_shape_III dask/array/tests/test_array_core.py::test_concatenate3_on_scalars [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate3_on_scalars dask/array/tests/test_array_core.py::test_chunked_dot_product [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_chunked_dot_product dask/array/tests/test_array_core.py::test_chunked_transpose_plus_one [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_chunked_transpose_plus_one dask/array/tests/test_array_core.py::test_broadcast_dimensions_works_with_singleton_dimensions [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_dimensions_works_with_singleton_dimensions dask/array/tests/test_array_core.py::test_broadcast_dimensions [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_dimensions dask/array/tests/test_array_core.py::test_Array [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_Array dask/array/tests/test_array_core.py::test_uneven_chunks [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_uneven_chunks dask/array/tests/test_array_core.py::test_numblocks_suppoorts_singleton_block_dims [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numblocks_suppoorts_singleton_block_dims dask/array/tests/test_array_core.py::test_keys [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_keys dask/array/tests/test_array_core.py::test_Array_computation [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_Array_computation dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[asanyarray] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_dtype[array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[5-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_true[10-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[5-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-asarray] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-asarray] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-bool] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_false[10-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[5-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_none[10-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-asarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[5-array] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-asarray] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-uint8] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-asarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-asanyarray] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-asanyarray] dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-array] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_numpy_asarray_copy_default[10-array] dask/array/tests/test_array_core.py::test_array_interface_deprecated_kwargs [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_array_interface_deprecated_kwargs dask/array/tests/test_array_core.py::test_compute_copy[5] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_compute_copy[5] dask/array/tests/test_array_core.py::test_compute_copy[10] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_compute_copy[10] dask/array/tests/test_array_core.py::test_Array_numpy_gufunc_call__array_ufunc__01 [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_Array_numpy_gufunc_call__array_ufunc__01 dask/array/tests/test_array_core.py::test_Array_numpy_gufunc_call__array_ufunc__02 [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_Array_numpy_gufunc_call__array_ufunc__02 dask/array/tests/test_array_core.py::test_stack [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack dask/array/tests/test_array_core.py::test_stack_zero_size [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack_zero_size dask/array/tests/test_array_core.py::test_short_stack [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_short_stack dask/array/tests/test_array_core.py::test_stack_scalars [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack_scalars dask/array/tests/test_array_core.py::test_stack_promote_type [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack_promote_type dask/array/tests/test_array_core.py::test_stack_rechunk [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack_rechunk dask/array/tests/test_array_core.py::test_stack_unknown_chunksizes [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_stack_unknown_chunksizes dask/array/tests/test_array_core.py::test_concatenate [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate dask/array/tests/test_array_core.py::test_concatenate_types[dtypes0] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_types[dtypes0] dask/array/tests/test_array_core.py::test_concatenate_types[dtypes1] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_types[dtypes1] dask/array/tests/test_array_core.py::test_concatenate_unknown_axes [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_unknown_axes dask/array/tests/test_array_core.py::test_concatenate_flatten [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_flatten dask/array/tests/test_array_core.py::test_concatenate_rechunk dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-bool] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_rechunk dask/array/tests/test_array_core.py::test_concatenate_fixlen_strings [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_fixlen_strings dask/array/tests/test_array_core.py::test_concatenate_zero_size [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-uint8] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_concatenate_zero_size dask/array/tests/test_array_core.py::test_block_simple_row_wise [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_simple_row_wise dask/array/tests/test_array_core.py::test_block_simple_column_wise [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_simple_column_wise dask/array/tests/test_array_core.py::test_block_with_1d_arrays_row_wise [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_with_1d_arrays_row_wise dask/array/tests/test_array_core.py::test_block_with_1d_arrays_multiple_rows [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_with_1d_arrays_multiple_rows dask/array/tests/test_array_core.py::test_block_with_1d_arrays_column_wise [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_with_1d_arrays_column_wise dask/array/tests/test_array_core.py::test_block_mixed_1d_and_2d [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_mixed_1d_and_2d dask/array/tests/test_array_core.py::test_block_complicated [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_complicated dask/array/tests/test_array_core.py::test_block_nested [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_nested dask/array/tests/test_array_core.py::test_block_3d [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_3d dask/array/tests/test_array_core.py::test_block_with_mismatched_shape [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_with_mismatched_shape dask/array/tests/test_array_core.py::test_block_no_lists [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_no_lists dask/array/tests/test_array_core.py::test_block_invalid_nesting [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_invalid_nesting dask/array/tests/test_array_core.py::test_block_empty_lists [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_empty_lists dask/array/tests/test_array_core.py::test_block_tuple [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_block_tuple dask/array/tests/test_array_core.py::test_broadcast_shapes [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_shapes [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-int16] dask/array/tests/test_array_core.py::test_elemwise_on_scalars dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_elemwise_on_scalars dask/array/tests/test_array_core.py::test_elemwise_with_ndarrays [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_ndarrays dask/array/tests/test_array_core.py::test_elemwise_differently_chunked [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_elemwise_differently_chunked dask/array/tests/test_array_core.py::test_elemwise_dtype [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-bool] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_elemwise_dtype dask/array/tests/test_array_core.py::test_operators [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths2-bool] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_operators dask/array/tests/test_array_core.py::test_binary_operator_delegation dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-uint8] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_binary_operator_delegation dask/array/tests/test_array_core.py::test_operator_dtype_promotion [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_operator_dtype_promotion dask/array/tests/test_array_core.py::test_field_access [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_field_access dask/array/tests/test_array_core.py::test_field_access_with_shape [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_field_access_with_shape dask/array/tests/test_array_core.py::test_matmul [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-float32] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-bool] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_matmul dask/array/tests/test_array_core.py::test_matmul_array_ufunc [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_matmul_array_ufunc dask/array/tests/test_array_core.py::test_T [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_T dask/array/tests/test_array_core.py::test_broadcast_to [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_to dask/array/tests/test_array_core.py::test_broadcast_to_array [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-uint8] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_to_array dask/array/tests/test_array_core.py::test_broadcast_to_scalar [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_to_scalar dask/array/tests/test_array_core.py::test_broadcast_to_chunks [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_to_chunks dask/array/tests/test_array_core.py::test_broadcast_arrays [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_arrays dask/array/tests/test_array_core.py::test_broadcast_arrays_uneven_chunks [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-float32] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_arrays_uneven_chunks dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape0-v_shape0] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape0-v_shape0] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape1-v_shape1] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-bool] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape1-v_shape1] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape2-v_shape2] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape2-v_shape2] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape3-v_shape3] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape3-v_shape3] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape4-v_shape4] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape4-v_shape4] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape5-v_shape5] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape5-v_shape5] dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape6-v_shape6] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_broadcast_operator[u_shape6-v_shape6] dask/array/tests/test_array_core.py::test_reshape[original_shape0-new_shape0-chunks0] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape0-new_shape0-chunks0] dask/array/tests/test_array_core.py::test_reshape[original_shape1-new_shape1-5] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape1-new_shape1-5] dask/array/tests/test_array_core.py::test_reshape[original_shape2-new_shape2-5] [gw1] [ 0%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[minimum-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-uint8] [gw1] [ 0%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-int16] [gw1] [ 0%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-int16] [gw0] [ 0%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape2-new_shape2-5] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-float32] [gw1] [ 0%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-bool] [gw1] [ 0%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-uint8] dask/array/tests/test_array_core.py::test_reshape[original_shape3-new_shape3-12] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape3-new_shape3-12] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape4-new_shape4-12] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape4-new_shape4-12] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths2-bool] dask/array/tests/test_array_core.py::test_reshape[original_shape5-new_shape5-chunks5] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape5-new_shape5-chunks5] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-float32] dask/array/tests/test_array_core.py::test_reshape[original_shape6-new_shape6-4] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape6-new_shape6-4] dask/array/tests/test_array_core.py::test_reshape[original_shape7-new_shape7-4] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[reflect-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape7-new_shape7-4] dask/array/tests/test_array_core.py::test_reshape[original_shape8-new_shape8-4] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape8-new_shape8-4] dask/array/tests/test_array_core.py::test_reshape[original_shape9-new_shape9-2] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape9-new_shape9-2] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape10-new_shape10-2] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-uint8] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape10-new_shape10-2] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape11-new_shape11-2] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-uint8] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape11-new_shape11-2] dask/array/tests/test_array_core.py::test_reshape[original_shape12-new_shape12-2] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[symmetric-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-int16] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape12-new_shape12-2] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape13-new_shape13-2] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-bool] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape13-new_shape13-2] dask/array/tests/test_array_core.py::test_reshape[original_shape14-new_shape14-2] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-uint8] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape14-new_shape14-2] dask/array/tests/test_array_core.py::test_reshape[original_shape15-new_shape15-2] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths3-bool] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape15-new_shape15-2] dask/array/tests/test_array_core.py::test_reshape[original_shape16-new_shape16-chunks16] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape16-new_shape16-chunks16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-bool] dask/array/tests/test_array_core.py::test_reshape[original_shape17-new_shape17-3] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[wrap-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[median-2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[median-2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[median-2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-2-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape17-new_shape17-3] dask/array/tests/test_creation.py::test_pad_3d_data[median-2-bool] dask/array/tests/test_array_core.py::test_reshape[original_shape18-new_shape18-4] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape18-new_shape18-4] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-bool] dask/array/tests/test_array_core.py::test_reshape[original_shape19-new_shape19-chunks19] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape19-new_shape19-chunks19] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-float32] dask/array/tests/test_array_core.py::test_reshape[original_shape20-new_shape20-1] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[median-pad_widths4-bool] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape20-new_shape20-1] dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape21-new_shape21-1] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-float32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape21-new_shape21-1] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-float32] dask/array/tests/test_array_core.py::test_reshape[original_shape22-new_shape22-24] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths2-bool] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape22-new_shape22-24] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-int16] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-uint8] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-int16] dask/array/tests/test_array_core.py::test_reshape[original_shape23-new_shape23-6] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-float32] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-bool] [gw1] [ 1%] SKIPPED dask/array/tests/test_creation.py::test_pad_3d_data[empty-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_udf[kwargs0] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape23-new_shape23-6] dask/array/tests/test_array_core.py::test_reshape[original_shape24-new_shape24-6] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape24-new_shape24-6] dask/array/tests/test_array_core.py::test_reshape[original_shape25-new_shape25-6] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape25-new_shape25-6] dask/array/tests/test_array_core.py::test_reshape[original_shape26-new_shape26-chunks26] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape26-new_shape26-chunks26] dask/array/tests/test_array_core.py::test_reshape[original_shape27-new_shape27-chunks27] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape27-new_shape27-chunks27] dask/array/tests/test_array_core.py::test_reshape[original_shape28-new_shape28-chunks28] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape28-new_shape28-chunks28] dask/array/tests/test_array_core.py::test_reshape[original_shape29-new_shape29-chunks29] [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_pad_udf[kwargs0] dask/array/tests/test_creation.py::test_pad_udf[kwargs1] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape29-new_shape29-chunks29] dask/array/tests/test_array_core.py::test_reshape[original_shape30-new_shape30-chunks30] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape30-new_shape30-chunks30] dask/array/tests/test_array_core.py::test_reshape[original_shape31-new_shape31-chunks31] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape31-new_shape31-chunks31] dask/array/tests/test_array_core.py::test_reshape[original_shape32-new_shape32-chunks32] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape32-new_shape32-chunks32] dask/array/tests/test_array_core.py::test_reshape[original_shape33-new_shape33-chunks33] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape33-new_shape33-chunks33] dask/array/tests/test_array_core.py::test_reshape[original_shape34-new_shape34-chunks34] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape[original_shape34-new_shape34-chunks34] dask/array/tests/test_array_core.py::test_reshape_exceptions [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_pad_udf[kwargs1] dask/array/tests/test_creation.py::test_pad_constant_chunksizes [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape_exceptions dask/array/tests/test_array_core.py::test_reshape_splat [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape_splat dask/array/tests/test_array_core.py::test_reshape_not_implemented_error [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape_not_implemented_error dask/array/tests/test_array_core.py::test_reshape_unknown_dimensions [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_reshape_unknown_dimensions dask/array/tests/test_array_core.py::test_full [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_full dask/array/tests/test_array_core.py::test_map_blocks [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_pad_constant_chunksizes dask/array/tests/test_creation.py::test_auto_chunks [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_auto_chunks dask/array/tests/test_creation.py::test_string_auto_chunk [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_string_auto_chunk dask/array/tests/test_creation.py::test_diagonal_zero_chunks [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks dask/array/tests/test_array_core.py::test_map_blocks2 [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_diagonal_zero_chunks dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks0-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks2 dask/array/tests/test_array_core.py::test_map_blocks_block_info [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks0-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks0-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_block_info dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_new_axis [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_new_axis dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_drop_axis [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks0-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks1-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_drop_axis dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_broadcast [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks1-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks1-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_block_info_with_broadcast dask/array/tests/test_array_core.py::test_map_blocks_with_constants [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[u4-shape_chunks1-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks0-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_constants dask/array/tests/test_array_core.py::test_map_blocks_with_kwargs [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_kwargs dask/array/tests/test_array_core.py::test_map_blocks_infer_chunks_broadcast [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_infer_chunks_broadcast dask/array/tests/test_array_core.py::test_map_blocks_with_chunks [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks0-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks0-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_chunks dask/array/tests/test_array_core.py::test_map_blocks_dtype_inference [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks0-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks1-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_dtype_inference dask/array/tests/test_array_core.py::test_map_blocks_infer_newaxis [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks1-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks1-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_infer_newaxis dask/array/tests/test_array_core.py::test_map_blocks_no_array_args [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_no_array_args dask/array/tests/test_array_core.py::test_map_blocks_unique_name_enforce_dim [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[float32-shape_chunks1-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks0-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_unique_name_enforce_dim dask/array/tests/test_array_core.py::test_map_blocks_unique_name_chunks_dtype [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_unique_name_chunks_dtype dask/array/tests/test_array_core.py::test_map_blocks_unique_name_drop_axis [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks0-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks0-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_unique_name_drop_axis dask/array/tests/test_array_core.py::test_map_blocks_unique_name_new_axis [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_unique_name_new_axis dask/array/tests/test_array_core.py::test_map_blocks_optimize_blockwise[0] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_optimize_blockwise[0] dask/array/tests/test_array_core.py::test_map_blocks_optimize_blockwise[1] [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks0-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks1-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_optimize_blockwise[1] dask/array/tests/test_array_core.py::test_repr [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_repr dask/array/tests/test_array_core.py::test_repr_meta [gw0] [ 1%] SKIPPED dask/array/tests/test_array_core.py::test_repr_meta dask/array/tests/test_array_core.py::test_repr_html_array_highlevelgraph [gw0] [ 1%] SKIPPED dask/array/tests/test_array_core.py::test_repr_html_array_highlevelgraph dask/array/tests/test_array_core.py::test_slicing_with_ellipsis [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks1-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks1-ones_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_slicing_with_ellipsis dask/array/tests/test_array_core.py::test_slicing_with_ndarray [gw1] [ 1%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[None-shape_chunks1-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks0-zeros_like] [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_slicing_with_ndarray dask/array/tests/test_array_core.py::test_slicing_flexible_type [gw0] [ 1%] PASSED dask/array/tests/test_array_core.py::test_slicing_flexible_type dask/array/tests/test_array_core.py::test_slicing_with_object_dtype [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_slicing_with_object_dtype dask/array/tests/test_array_core.py::test_dtype [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks0-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks0-ones_like] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_dtype dask/array/tests/test_array_core.py::test_blockdims_from_blockshape [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_blockdims_from_blockshape dask/array/tests/test_array_core.py::test_coerce [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_coerce dask/array/tests/test_array_core.py::test_bool [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_bool dask/array/tests/test_array_core.py::test_store_kwargs [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks0-ones_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks1-zeros_like] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks1-zeros_like] dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks1-ones_like] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_kwargs dask/array/tests/test_array_core.py::test_store_delayed_target [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_zeros_ones_like[int64-shape_chunks1-ones_like] dask/array/tests/test_creation.py::test_from_array_getitem_fused [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_from_array_getitem_fused dask/array/tests/test_creation.py::test_nan_empty_like[u4-shape_chunks0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[u4-shape_chunks0] dask/array/tests/test_creation.py::test_nan_empty_like[u4-shape_chunks1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[u4-shape_chunks1] dask/array/tests/test_creation.py::test_nan_empty_like[float32-shape_chunks0] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_delayed_target dask/array/tests/test_array_core.py::test_store [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store dask/array/tests/test_array_core.py::test_store_regions [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[float32-shape_chunks0] dask/array/tests/test_creation.py::test_nan_empty_like[float32-shape_chunks1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[float32-shape_chunks1] dask/array/tests/test_creation.py::test_nan_empty_like[None-shape_chunks0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[None-shape_chunks0] dask/array/tests/test_creation.py::test_nan_empty_like[None-shape_chunks1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[None-shape_chunks1] dask/array/tests/test_creation.py::test_nan_empty_like[int64-shape_chunks0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[int64-shape_chunks0] dask/array/tests/test_creation.py::test_nan_empty_like[int64-shape_chunks1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_empty_like[int64-shape_chunks1] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-0] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-0.0] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0-99] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0--1] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_regions dask/array/tests/test_array_core.py::test_store_compute_false [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_compute_false dask/array/tests/test_array_core.py::test_store_nocompute_regions [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_nocompute_regions dask/array/tests/test_array_core.py::test_store_locks_failure_lock_released [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_locks_failure_lock_released dask/array/tests/test_array_core.py::test_store_locks [gw1] [ 2%] XFAIL dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks0--1] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-0] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-0.0] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1-99] dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1--1] [gw1] [ 2%] XFAIL dask/array/tests/test_creation.py::test_nan_full_like[u4-shape_chunks1--1] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-0] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-0.0] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0-99] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks0--1] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-0] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_locks dask/array/tests/test_array_core.py::test_store_method_return [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-0] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-0.0] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-99] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_method_return dask/array/tests/test_array_core.py::test_store_multiprocessing_lock [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1-99] dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[float32-shape_chunks1--1] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-0] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-0.0] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0-99] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks0--1] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-0] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-0.0] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1-99] dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[None-shape_chunks1--1] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-0] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-0.0] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0-99] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks0--1] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-0] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-0.0] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-0.0] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-99] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1-99] dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1--1] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_nan_full_like[int64-shape_chunks1--1] dask/array/tests/test_creation.py::test_like_forgets_graph[array] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_like_forgets_graph[array] dask/array/tests/test_creation.py::test_like_forgets_graph[asarray] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_like_forgets_graph[asarray] dask/array/tests/test_creation.py::test_like_forgets_graph[asanyarray] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_like_forgets_graph[asanyarray] dask/array/tests/test_creation.py::test_like_forgets_graph[arange] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_like_forgets_graph[arange] dask/array/tests/test_creation.py::test_like_forgets_graph[tri] [gw1] [ 2%] PASSED dask/array/tests/test_creation.py::test_like_forgets_graph[tri] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-add0] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-add0] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-eq] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-eq] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-gt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-gt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-ge] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-ge] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-lt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-lt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-le] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-le] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-mod] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-mod] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-mul] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-mul] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-ne] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-ne] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-pow] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-pow] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-sub] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-sub] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-truediv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-truediv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-floordiv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-floordiv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-add1] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-add1] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-subtract] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast0-arr_downcast0-subtract] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-add0] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-add0] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-eq] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-eq] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-gt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-gt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-ge] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-ge] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-lt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-lt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-le] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-le] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-mod] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-mod] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-mul] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-mul] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-ne] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-ne] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-pow] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-pow] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-sub] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-sub] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-truediv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-truediv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-floordiv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-floordiv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-add1] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-add1] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-subtract] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast1-arr_downcast1-subtract] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-add0] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-add0] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-eq] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-eq] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-gt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-gt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-ge] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-ge] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-lt] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-lt] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-le] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-le] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-mod] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-mod] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-mul] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-mul] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-ne] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-ne] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-pow] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-pow] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-sub] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-sub] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-truediv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-truediv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-floordiv] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-floordiv] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-add1] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-add1] dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-subtract] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_binary_operation_type_precedence[arr_upcast2-arr_downcast2-subtract] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr0-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr0-False] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr1-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr1-False] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr2-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr2-True] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr3-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr3-True] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr4-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[arr4-True] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[None-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[None-True] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[0.0-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[0.0-False] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[0-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[0-False] dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_array_chunk[-False] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[WrappedArray-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[WrappedArray-False] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[Array-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[Array-False] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[EncapsulateNDArray-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[EncapsulateNDArray-True] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[MaskedArray-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[MaskedArray-True] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[ndarray-True] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[ndarray-True] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[float-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[float-False] dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[int-False] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_is_valid_chunk_type[int-False] dask/array/tests/test_dispatch.py::test_direct_deferral_wrapping_override [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_direct_deferral_wrapping_override dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar_that_understands_arr_ops[arr0] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar_that_understands_arr_ops[arr0] dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar_that_understands_arr_ops[arr1] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar_that_understands_arr_ops[arr1] dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar[arr0] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar[arr0] dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar[arr1] [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_delegation_unknown_scalar[arr1] dask/array/tests/test_dispatch.py::test_delegation_specific_cases [gw1] [ 2%] PASSED dask/array/tests/test_dispatch.py::test_delegation_specific_cases dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[fft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[fft] dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[ifft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[ifft] dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[rfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[rfft] dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[irfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[irfft] dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[hfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[hfft] dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[ihfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_cant_fft_chunked_axis[ihfft] dask/array/tests/test_fft.py::test_fft[fft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[fft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_multiprocessing_lock dask/array/tests/test_fft.py::test_fft[ifft] dask/array/tests/test_array_core.py::test_store_deterministic_keys[False-False] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[ifft] dask/array/tests/test_fft.py::test_fft[rfft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_deterministic_keys[False-False] dask/array/tests/test_array_core.py::test_store_deterministic_keys[False-True] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[rfft] dask/array/tests/test_fft.py::test_fft[irfft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_deterministic_keys[False-True] dask/array/tests/test_array_core.py::test_store_deterministic_keys[True-False] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[irfft] dask/array/tests/test_fft.py::test_fft[hfft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_deterministic_keys[True-False] dask/array/tests/test_array_core.py::test_store_deterministic_keys[True-True] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[hfft] dask/array/tests/test_fft.py::test_fft[ihfft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_store_deterministic_keys[True-True] dask/array/tests/test_array_core.py::test_to_hdf5 [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft[ihfft] dask/array/tests/test_fft.py::test_fft2n_shapes[fft2] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[fft2] dask/array/tests/test_fft.py::test_fft2n_shapes[ifft2] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[ifft2] dask/array/tests/test_fft.py::test_fft2n_shapes[fftn] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[fftn] dask/array/tests/test_fft.py::test_fft2n_shapes[ifftn] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[ifftn] dask/array/tests/test_fft.py::test_fft2n_shapes[rfft2] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[rfft2] dask/array/tests/test_fft.py::test_fft2n_shapes[irfft2] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[irfft2] dask/array/tests/test_fft.py::test_fft2n_shapes[rfftn] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_to_hdf5 dask/array/tests/test_array_core.py::test_to_dask_dataframe [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[rfftn] dask/array/tests/test_fft.py::test_fft2n_shapes[irfftn] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_to_dask_dataframe dask/array/tests/test_array_core.py::test_np_array_with_zero_dimensions [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft2n_shapes[irfftn] dask/array/tests/test_fft.py::test_fft_n_kwarg[fft] [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_np_array_with_zero_dimensions dask/array/tests/test_array_core.py::test_dtype_complex [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_dtype_complex dask/array/tests/test_array_core.py::test_astype [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_astype dask/array/tests/test_array_core.py::test_astype_gh1151 [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_astype_gh1151 dask/array/tests/test_array_core.py::test_astype_gh9318 [gw0] [ 2%] PASSED dask/array/tests/test_array_core.py::test_astype_gh9318 dask/array/tests/test_array_core.py::test_astype_gh9316 [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[fft] dask/array/tests/test_fft.py::test_fft_n_kwarg[ifft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[ifft] dask/array/tests/test_fft.py::test_fft_n_kwarg[rfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[rfft] dask/array/tests/test_fft.py::test_fft_n_kwarg[irfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[irfft] dask/array/tests/test_fft.py::test_fft_n_kwarg[hfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[hfft] dask/array/tests/test_fft.py::test_fft_n_kwarg[ihfft] [gw0] [ 2%] XFAIL dask/array/tests/test_array_core.py::test_astype_gh9316 dask/array/tests/test_array_core.py::test_arithmetic [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_n_kwarg[ihfft] dask/array/tests/test_fft.py::test_fft_consistent_names[fft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[fft] dask/array/tests/test_fft.py::test_fft_consistent_names[ifft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[ifft] dask/array/tests/test_fft.py::test_fft_consistent_names[rfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[rfft] dask/array/tests/test_fft.py::test_fft_consistent_names[irfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[irfft] dask/array/tests/test_fft.py::test_fft_consistent_names[hfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[hfft] dask/array/tests/test_fft.py::test_fft_consistent_names[ihfft] [gw1] [ 2%] PASSED dask/array/tests/test_fft.py::test_fft_consistent_names[ihfft] dask/array/tests/test_fft.py::test_wrap_bad_kind [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_bad_kind dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-fft2] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-fft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-ifft2] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-ifft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-fftn] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-fftn] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-ifftn] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-ifftn] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-rfft2] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-rfft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-irfft2] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-irfft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-rfftn] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-rfftn] dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-irfftn] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_arithmetic dask/array/tests/test_array_core.py::test_elemwise_consistent_names [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_elemwise_consistent_names dask/array/tests/test_array_core.py::test_optimize [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_optimize dask/array/tests/test_array_core.py::test_slicing_with_non_ndarrays [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slicing_with_non_ndarrays dask/array/tests/test_array_core.py::test_getter [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_getter dask/array/tests/test_array_core.py::test_size [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float32-irfftn] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-fft2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_size dask/array/tests/test_array_core.py::test_nbytes [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_nbytes dask/array/tests/test_array_core.py::test_itemsize [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_itemsize dask/array/tests/test_array_core.py::test_Array_normalizes_dtype [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_Array_normalizes_dtype dask/array/tests/test_array_core.py::test_from_array_with_lock[True] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_with_lock[True] dask/array/tests/test_array_core.py::test_from_array_with_lock[False] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_with_lock[False] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x0-chunks0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x0-chunks0] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x1--1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x1--1] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x2-1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x2-1] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x3-1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[True-x3-1] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x0-chunks0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x0-chunks0] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x1--1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x1--1] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x2-1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x2-1] dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x3-1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_tasks_always_call_getter[False-x3-1] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x0] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x1] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-fft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-ifft2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x1] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x2] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x3] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x3] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x4] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x4] dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x5] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_onechunk[x5] dask/array/tests/test_array_core.py::test_from_array_ndarray_getitem [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_ndarray_getitem dask/array/tests/test_array_core.py::test_from_array_list[x0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_list[x0] dask/array/tests/test_array_core.py::test_from_array_list[x1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_list[x1] dask/array/tests/test_array_core.py::test_from_array_list[x2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_list[x2] dask/array/tests/test_array_core.py::test_from_array_scalar[bool0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[bool0] dask/array/tests/test_array_core.py::test_from_array_scalar[bytes] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[bytes] dask/array/tests/test_array_core.py::test_from_array_scalar[complex] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[complex] dask/array/tests/test_array_core.py::test_from_array_scalar[float] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[float] dask/array/tests/test_array_core.py::test_from_array_scalar[int] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[int] dask/array/tests/test_array_core.py::test_from_array_scalar[bool1] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-ifft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-fftn] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[bool1] dask/array/tests/test_array_core.py::test_from_array_scalar[bytes_] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[bytes_] dask/array/tests/test_array_core.py::test_from_array_scalar[clongdouble] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[clongdouble] dask/array/tests/test_array_core.py::test_from_array_scalar[complex128] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[complex128] dask/array/tests/test_array_core.py::test_from_array_scalar[complex64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[complex64] dask/array/tests/test_array_core.py::test_from_array_scalar[datetime64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[datetime64] dask/array/tests/test_array_core.py::test_from_array_scalar[float16] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[float16] dask/array/tests/test_array_core.py::test_from_array_scalar[float32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[float32] dask/array/tests/test_array_core.py::test_from_array_scalar[float64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[float64] dask/array/tests/test_array_core.py::test_from_array_scalar[int16] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[int16] dask/array/tests/test_array_core.py::test_from_array_scalar[int32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[int32] dask/array/tests/test_array_core.py::test_from_array_scalar[int64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[int64] dask/array/tests/test_array_core.py::test_from_array_scalar[int8] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[int8] dask/array/tests/test_array_core.py::test_from_array_scalar[longdouble] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[longdouble] dask/array/tests/test_array_core.py::test_from_array_scalar[longlong] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[longlong] dask/array/tests/test_array_core.py::test_from_array_scalar[object_] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[object_] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-fftn] dask/array/tests/test_array_core.py::test_from_array_scalar[str_] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-ifftn] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[str_] dask/array/tests/test_array_core.py::test_from_array_scalar[timedelta64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[timedelta64] dask/array/tests/test_array_core.py::test_from_array_scalar[uint16] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[uint16] dask/array/tests/test_array_core.py::test_from_array_scalar[uint32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[uint32] dask/array/tests/test_array_core.py::test_from_array_scalar[uint64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[uint64] dask/array/tests/test_array_core.py::test_from_array_scalar[uint8] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[uint8] dask/array/tests/test_array_core.py::test_from_array_scalar[ulonglong] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[ulonglong] dask/array/tests/test_array_core.py::test_from_array_scalar[void] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[void] dask/array/tests/test_array_core.py::test_from_array_scalar[str] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_scalar[str] dask/array/tests/test_array_core.py::test_from_array_no_asarray[True-True-ndarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_no_asarray[True-True-ndarray] dask/array/tests/test_array_core.py::test_from_array_no_asarray[True-False-matrix] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_no_asarray[True-False-matrix] dask/array/tests/test_array_core.py::test_from_array_no_asarray[False-True-ndarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_no_asarray[False-True-ndarray] dask/array/tests/test_array_core.py::test_from_array_no_asarray[False-False-matrix] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_no_asarray[False-False-matrix] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-ifftn] dask/array/tests/test_array_core.py::test_from_array_getitem[True-True] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-rfft2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_getitem[True-True] dask/array/tests/test_array_core.py::test_from_array_getitem[True-False] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_getitem[True-False] dask/array/tests/test_array_core.py::test_from_array_getitem[False-True] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_getitem[False-True] dask/array/tests/test_array_core.py::test_from_array_getitem[False-False] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_getitem[False-False] dask/array/tests/test_array_core.py::test_from_array_minus_one [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_minus_one dask/array/tests/test_array_core.py::test_array_copy_noop[-1] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_array_copy_noop[-1] dask/array/tests/test_array_core.py::test_array_copy_noop[2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_array_copy_noop[2] dask/array/tests/test_array_core.py::test_from_array_dask_array [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_dask_array dask/array/tests/test_array_core.py::test_from_array_dask_collection_warns [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_dask_collection_warns dask/array/tests/test_array_core.py::test_from_array_inline [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_inline dask/array/tests/test_array_core.py::test_asarray[asarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray[asarray] dask/array/tests/test_array_core.py::test_asarray[asanyarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray[asanyarray] dask/array/tests/test_array_core.py::test_asarray_array_dtype[asarray] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-rfft2] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-irfft2] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_array_dtype[asarray] dask/array/tests/test_array_core.py::test_asarray_array_dtype[asanyarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_array_dtype[asanyarray] dask/array/tests/test_array_core.py::test_asarray_dask_dataframe[asarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_dask_dataframe[asarray] dask/array/tests/test_array_core.py::test_asarray_dask_dataframe[asanyarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_dask_dataframe[asanyarray] dask/array/tests/test_array_core.py::test_asarray_h5py[True-asarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_h5py[True-asarray] dask/array/tests/test_array_core.py::test_asarray_h5py[True-asanyarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_h5py[True-asanyarray] dask/array/tests/test_array_core.py::test_asarray_h5py[False-asarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_h5py[False-asarray] dask/array/tests/test_array_core.py::test_asarray_h5py[False-asanyarray] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_h5py[False-asanyarray] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-irfft2] dask/array/tests/test_array_core.py::test_asarray_chunks dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-rfftn] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asarray_chunks dask/array/tests/test_array_core.py::test_asanyarray [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asanyarray dask/array/tests/test_array_core.py::test_asanyarray_dataframe [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asanyarray_dataframe dask/array/tests/test_array_core.py::test_asanyarray_datetime64 [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_asanyarray_datetime64 dask/array/tests/test_array_core.py::test_from_func [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_func dask/array/tests/test_array_core.py::test_concatenate3_2 [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_concatenate3_2 dask/array/tests/test_array_core.py::test_map_blocks3 [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_map_blocks3 dask/array/tests/test_array_core.py::test_from_array_with_missing_chunks [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_from_array_with_missing_chunks dask/array/tests/test_array_core.py::test_normalize_chunks[normalize_chunks] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks[normalize_chunks] dask/array/tests/test_array_core.py::test_normalize_chunks[normalize_chunks_cached] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks[normalize_chunks_cached] dask/array/tests/test_array_core.py::test_single_element_tuple [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_single_element_tuple dask/array/tests/test_array_core.py::test_align_chunks_to_previous_chunks [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_align_chunks_to_previous_chunks dask/array/tests/test_array_core.py::test_raise_on_no_chunks [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_raise_on_no_chunks dask/array/tests/test_array_core.py::test_chunks_is_immutable [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_chunks_is_immutable dask/array/tests/test_array_core.py::test_raise_on_bad_kwargs [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-rfftn] dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-irfftn] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_raise_on_bad_kwargs dask/array/tests/test_array_core.py::test_long_slice [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_nd_ffts_axes[float64-irfftn] dask/array/tests/test_fft.py::test_wrap_ffts[float32-fft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_long_slice dask/array/tests/test_array_core.py::test_h5py_newaxis [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_h5py_newaxis dask/array/tests/test_array_core.py::test_ellipsis_slicing [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-fft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_ellipsis_slicing dask/array/tests/test_fft.py::test_wrap_ffts[float32-fft-scipy.fft] dask/array/tests/test_array_core.py::test_point_slicing [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_point_slicing dask/array/tests/test_array_core.py::test_point_slicing_with_full_slice [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_point_slicing_with_full_slice dask/array/tests/test_array_core.py::test_slice_with_floats [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slice_with_floats dask/array/tests/test_array_core.py::test_slice_with_integer_types[int32] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-fft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-ifft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slice_with_integer_types[int32] dask/array/tests/test_array_core.py::test_slice_with_integer_types[int64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slice_with_integer_types[int64] dask/array/tests/test_array_core.py::test_slice_with_integer_types[uint32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slice_with_integer_types[uint32] dask/array/tests/test_array_core.py::test_slice_with_integer_types[uint64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_slice_with_integer_types[uint64] dask/array/tests/test_array_core.py::test_index_with_integer_types[int] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_index_with_integer_types[int] dask/array/tests/test_array_core.py::test_index_with_integer_types[int32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_index_with_integer_types[int32] dask/array/tests/test_array_core.py::test_index_with_integer_types[int64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_index_with_integer_types[int64] dask/array/tests/test_array_core.py::test_index_with_integer_types[uint32] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_index_with_integer_types[uint32] dask/array/tests/test_array_core.py::test_index_with_integer_types[uint64] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_index_with_integer_types[uint64] dask/array/tests/test_array_core.py::test_vindex_basic [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_basic dask/array/tests/test_array_core.py::test_vindex_nd [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-ifft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-ifft-scipy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_nd dask/array/tests/test_array_core.py::test_vindex_preserve_chunksize[0] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_preserve_chunksize[0] dask/array/tests/test_array_core.py::test_vindex_preserve_chunksize[1] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-ifft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-rfft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_preserve_chunksize[1] dask/array/tests/test_array_core.py::test_vindex_negative [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_negative dask/array/tests/test_array_core.py::test_vindex_errors [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_errors dask/array/tests/test_array_core.py::test_vindex_merge [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-rfft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_merge dask/array/tests/test_fft.py::test_wrap_ffts[float32-rfft-scipy.fft] dask/array/tests/test_array_core.py::test_vindex_identity [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_vindex_identity dask/array/tests/test_array_core.py::test_empty_array [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_empty_array dask/array/tests/test_array_core.py::test_memmap [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_memmap dask/array/tests/test_array_core.py::test_to_npy_stack [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_to_npy_stack dask/array/tests/test_array_core.py::test_view [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_view dask/array/tests/test_array_core.py::test_view_fortran [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-rfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-irfft-numpy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_view_fortran dask/array/tests/test_array_core.py::test_h5py_tokenize [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_h5py_tokenize dask/array/tests/test_array_core.py::test_map_blocks_with_changed_dimension [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_changed_dimension dask/array/tests/test_array_core.py::test_map_blocks_with_negative_drop_axis [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_negative_drop_axis dask/array/tests/test_array_core.py::test_map_blocks_with_invalid_drop_axis [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_invalid_drop_axis dask/array/tests/test_array_core.py::test_map_blocks_with_changed_dimension_and_broadcast_chunks [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-irfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-irfft-scipy.fft] [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_with_changed_dimension_and_broadcast_chunks dask/array/tests/test_array_core.py::test_broadcast_chunks [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_broadcast_chunks dask/array/tests/test_array_core.py::test_chunks_error [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_chunks_error dask/array/tests/test_array_core.py::test_array_compute_forward_kwargs [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_array_compute_forward_kwargs dask/array/tests/test_array_core.py::test_dont_fuse_outputs [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_dont_fuse_outputs dask/array/tests/test_array_core.py::test_dont_dealias_outputs [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_dont_dealias_outputs dask/array/tests/test_array_core.py::test_timedelta_op [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_timedelta_op dask/array/tests/test_array_core.py::test_to_delayed [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_to_delayed dask/array/tests/test_array_core.py::test_to_delayed_optimize_graph [gw0] [ 3%] PASSED dask/array/tests/test_array_core.py::test_to_delayed_optimize_graph dask/array/tests/test_array_core.py::test_cumulative [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-irfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-hfft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-hfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-hfft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-hfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-ihfft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-ihfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float32-ihfft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float32-ihfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-fft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-fft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-fft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-fft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-ifft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-ifft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-ifft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-ifft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-rfft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-rfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-rfft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-rfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-irfft-numpy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-irfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-irfft-scipy.fft] [gw1] [ 3%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-irfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-hfft-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-hfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-hfft-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-hfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-ihfft-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-ihfft-numpy.fft] dask/array/tests/test_fft.py::test_wrap_ffts[float64-ihfft-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_ffts[float64-ihfft-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-fft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-fft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-fft2-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-fft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifft2-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-fftn-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-fftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-fftn-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-fftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifftn-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifftn-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-ifftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfft2-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfft2-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfftn-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfftn-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-rfftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfftn-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfftn-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float32-irfftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-fft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-fft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-fft2-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-fft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifft2-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifft2-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_cumulative dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifft2-scipy.fft] dask/array/tests/test_array_core.py::test_from_delayed [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_from_delayed dask/array/tests/test_array_core.py::test_from_delayed_meta [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_from_delayed_meta dask/array/tests/test_array_core.py::test_from_delayed_future [gw0] [ 4%] SKIPPED dask/array/tests/test_array_core.py::test_from_delayed_future dask/array/tests/test_array_core.py::test_A_property [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_A_property dask/array/tests/test_array_core.py::test_copy_mutate [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_copy_mutate dask/array/tests/test_array_core.py::test_npartitions [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_npartitions dask/array/tests/test_array_core.py::test_elemwise_name [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-fftn-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_elemwise_name dask/array/tests/test_array_core.py::test_map_blocks_name [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_name dask/array/tests/test_array_core.py::test_map_blocks_token_deprecated [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_token_deprecated dask/array/tests/test_array_core.py::test_from_array_names [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_from_array_names dask/array/tests/test_array_core.py::test_array_picklable[array0] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_array_picklable[array0] dask/array/tests/test_array_core.py::test_array_picklable[array1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-fftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-fftn-scipy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_array_picklable[array1] dask/array/tests/test_array_core.py::test_from_array_raises_on_bad_chunks [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_from_array_raises_on_bad_chunks dask/array/tests/test_array_core.py::test_concatenate_axes [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_concatenate_axes dask/array/tests/test_array_core.py::test_blockwise_concatenate [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-fftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifftn-numpy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifftn-scipy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_blockwise_concatenate dask/array/tests/test_array_core.py::test_common_blockdim [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_common_blockdim dask/array/tests/test_array_core.py::test_uneven_chunks_that_fit_neatly [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-ifftn-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfft2-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_uneven_chunks_that_fit_neatly dask/array/tests/test_array_core.py::test_elemwise_uneven_chunks [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfft2-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfft2-scipy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_elemwise_uneven_chunks dask/array/tests/test_array_core.py::test_uneven_chunks_blockwise [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfft2-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_uneven_chunks_blockwise dask/array/tests/test_array_core.py::test_warn_bad_rechunking [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfft2-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_warn_bad_rechunking dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfft2-scipy.fft] dask/array/tests/test_array_core.py::test_concatenate_stack_dont_warn [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_concatenate_stack_dont_warn dask/array/tests/test_array_core.py::test_map_blocks_delayed [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_delayed dask/array/tests/test_array_core.py::test_no_chunks [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfft2-scipy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfftn-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_no_chunks dask/array/tests/test_array_core.py::test_no_chunks_2d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfftn-scipy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_no_chunks_2d dask/array/tests/test_array_core.py::test_no_chunks_yes_chunks [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_no_chunks_yes_chunks dask/array/tests/test_array_core.py::test_raise_informative_errors_no_chunks [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-rfftn-scipy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_raise_informative_errors_no_chunks dask/array/tests/test_array_core.py::test_no_chunks_slicing_2d dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfftn-numpy.fft] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_no_chunks_slicing_2d dask/array/tests/test_array_core.py::test_index_array_with_array_1d [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_index_array_with_array_1d dask/array/tests/test_array_core.py::test_index_array_with_array_2d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfftn-numpy.fft] dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfftn-scipy.fft] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_wrap_fftns[float64-irfftn-scipy.fft] dask/array/tests/test_fft.py::test_fftfreq[0-1.0-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-1.0-1] dask/array/tests/test_fft.py::test_fftfreq[0-1.0-2] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_index_array_with_array_2d dask/array/tests/test_array_core.py::test_index_array_with_array_3d_2d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-1.0-2] dask/array/tests/test_fft.py::test_fftfreq[0-1.0-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-1.0-3] dask/array/tests/test_fft.py::test_fftfreq[0-1.0-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-1.0-6] dask/array/tests/test_fft.py::test_fftfreq[0-1.0-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-1.0-7] dask/array/tests/test_fft.py::test_fftfreq[0-0.5-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-0.5-1] dask/array/tests/test_fft.py::test_fftfreq[0-0.5-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-0.5-2] dask/array/tests/test_fft.py::test_fftfreq[0-0.5-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-0.5-3] dask/array/tests/test_fft.py::test_fftfreq[0-0.5-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-0.5-6] dask/array/tests/test_fft.py::test_fftfreq[0-0.5-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-0.5-7] dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-1] dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-2] dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-3] dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-6] dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[0-6.283185307179586-7] dask/array/tests/test_fft.py::test_fftfreq[1-1.0-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-1.0-1] dask/array/tests/test_fft.py::test_fftfreq[1-1.0-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-1.0-2] dask/array/tests/test_fft.py::test_fftfreq[1-1.0-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-1.0-3] dask/array/tests/test_fft.py::test_fftfreq[1-1.0-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-1.0-6] dask/array/tests/test_fft.py::test_fftfreq[1-1.0-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-1.0-7] dask/array/tests/test_fft.py::test_fftfreq[1-0.5-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-0.5-1] dask/array/tests/test_fft.py::test_fftfreq[1-0.5-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-0.5-2] dask/array/tests/test_fft.py::test_fftfreq[1-0.5-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-0.5-3] dask/array/tests/test_fft.py::test_fftfreq[1-0.5-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-0.5-6] dask/array/tests/test_fft.py::test_fftfreq[1-0.5-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-0.5-7] dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-1] dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-2] dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-3] dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-6] dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftfreq[1-6.283185307179586-7] dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-1] dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-2] dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-3] dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-6] dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-1.0-7] dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-1] dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-2] dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-3] dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-6] dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-0.5-7] dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-1] dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-2] dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-3] dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-6] dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[0-6.283185307179586-7] dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-1] dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-2] dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-3] dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-6] dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-1.0-7] dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-1] dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-2] dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-3] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-3] dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-6] [gw0] [ 4%] XFAIL dask/array/tests/test_array_core.py::test_index_array_with_array_3d_2d dask/array/tests/test_array_core.py::test_setitem_1d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-6] dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-7] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-0.5-7] dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-1] dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-2] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_1d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-2] dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-3] dask/array/tests/test_array_core.py::test_setitem_masked [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-3] dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-6] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_masked dask/array/tests/test_array_core.py::test_setitem_hardmask [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-6] dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-7] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_hardmask dask/array/tests/test_array_core.py::test_setitem_slice_twice [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_rfftfreq[1-6.283185307179586-7] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_slice_twice dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-None-fftshift] dask/array/tests/test_array_core.py::test_setitem_2d [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-None-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-None-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_2d dask/array/tests/test_array_core.py::test_setitem_extended_API_0d [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_0d dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index0--1] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index0--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index1--2] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-None-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-0-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index1--2] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index2--3] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index2--3] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index3-value3] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index3-value3] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index4--4] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-0-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-0-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index4--4] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index5-value5] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index5-value5] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index6--5] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-0-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-1-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index6--5] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index7--6] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index7--6] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index8--4] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-1-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index8--4] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-1-ifftshift] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index9--5] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index9--5] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index10-value10] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-1-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index10-value10] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-2-fftshift] dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index11-value11] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_1d[index11-value11] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index0--1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-2-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-2-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index0--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index1--1] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index1--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index2--1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-2-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes4-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index2--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index3--1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes4-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index3--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index4--1] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes4-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index4--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[5--1] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes4-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes5-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[5--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index6-value6] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes5-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes5-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index6-value6] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[3-value7] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[3-value7] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index8-value8] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes5-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes6-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index8-value8] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes6-fftshift] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index9-value9] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes6-ifftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index9-value9] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index10-value10] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes6-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes7-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index10-value10] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index11-value11] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes7-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index11-value11] dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes7-ifftshift] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index12-value12] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index12-value12] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index13-value13] [gw1] [ 4%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape0-chunks0-axes7-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-None-fftshift] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index13-value13] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index14--1] [gw0] [ 4%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index14--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index15--1] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-None-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-None-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index15--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index16--1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index16--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index17--1] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-None-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-0-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-0-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-0-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-0-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-1-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index17--1] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index18-value18] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-1-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-1-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-1-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-2-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-2-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-2-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-2-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes4-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index18-value18] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index19--99] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes4-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes4-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index19--99] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index20-value20] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes4-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes5-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index20-value20] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index21--98] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index21--98] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index22-value22] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes5-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes5-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d[index22-value22] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_rhs_func_of_lhs [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes5-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes6-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes6-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes6-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes6-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes7-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes7-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes7-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape1-chunks1-axes7-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-None-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-None-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-None-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-None-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-0-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-0-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-0-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-0-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-1-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-1-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-1-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-1-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-2-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-2-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-2-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-2-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes4-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes4-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes4-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes4-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes5-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes5-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes5-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes5-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes6-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes6-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes6-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes6-ifftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes7-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes7-fftshift] dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes7-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift[shape2-chunks2-axes7-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-None-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-None-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-None-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-None-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-0-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-0-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-0-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-0-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-1-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-1-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-1-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-1-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-2-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-2-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-2-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-2-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes4-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes4-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes4-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes4-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes5-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes5-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes5-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes5-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes6-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes6-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes6-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes6-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes7-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes7-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes7-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape0-chunks0-axes7-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-None-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_rhs_func_of_lhs dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_mask[index0-value0] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_mask[index0-value0] dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_mask[index1-value1] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-None-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-None-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_extended_API_2d_mask[index1-value1] dask/array/tests/test_array_core.py::test_setitem_on_read_only_blocks [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_on_read_only_blocks dask/array/tests/test_array_core.py::test_setitem_errs [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-None-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-0-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_errs dask/array/tests/test_array_core.py::test_setitem_bool_index_errs[numpy] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-0-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-0-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_bool_index_errs[numpy] dask/array/tests/test_array_core.py::test_setitem_bool_index_errs[dask.array] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-0-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-1-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_setitem_bool_index_errs[dask.array] dask/array/tests/test_array_core.py::test_zero_slice_dtypes [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zero_slice_dtypes dask/array/tests/test_array_core.py::test_zero_sized_array_rechunk [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zero_sized_array_rechunk dask/array/tests/test_array_core.py::test_blockwise_zero_shape [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_blockwise_zero_shape [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-1-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-1-ifftshift-fftshift] dask/array/tests/test_array_core.py::test_blockwise_zero_shape_new_axes [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_blockwise_zero_shape_new_axes dask/array/tests/test_array_core.py::test_broadcast_against_zero_shape [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-1-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-2-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-2-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-2-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_broadcast_against_zero_shape dask/array/tests/test_array_core.py::test_from_array_name [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_from_array_name dask/array/tests/test_array_core.py::test_concatenate_errs [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-2-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_concatenate_errs dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes4-fftshift-ifftshift] dask/array/tests/test_array_core.py::test_stack_errs [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_stack_errs dask/array/tests/test_array_core.py::test_blockwise_with_numpy_arrays [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_blockwise_with_numpy_arrays dask/array/tests/test_array_core.py::test_elemwise_with_lists[other0-100] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other0-100] dask/array/tests/test_array_core.py::test_elemwise_with_lists[other0-6] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes4-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes4-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other0-6] dask/array/tests/test_array_core.py::test_elemwise_with_lists[other1-100] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other1-100] dask/array/tests/test_array_core.py::test_elemwise_with_lists[other1-6] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes4-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes5-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other1-6] dask/array/tests/test_array_core.py::test_elemwise_with_lists[other2-100] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other2-100] dask/array/tests/test_array_core.py::test_elemwise_with_lists[other2-6] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_elemwise_with_lists[other2-6] dask/array/tests/test_array_core.py::test_constructor_plugin [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_constructor_plugin dask/array/tests/test_array_core.py::test_no_warnings_on_metadata [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_no_warnings_on_metadata dask/array/tests/test_array_core.py::test_delayed_array_key_hygeine [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_delayed_array_key_hygeine dask/array/tests/test_array_core.py::test_empty_chunks_in_array_len [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_empty_chunks_in_array_len dask/array/tests/test_array_core.py::test_meta[None] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_meta[None] dask/array/tests/test_array_core.py::test_meta[dtype1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_meta[dtype1] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[100-10-expected0] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[100-10-expected0] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[20-10-expected1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[20-10-expected1] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[20-5-expected2] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[20-5-expected2] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[24-5-expected3] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[24-5-expected3] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[23-5-expected4] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[23-5-expected4] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[1000-167-expected5] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_1d[1000-167-expected5] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape0-chunks0-20-expected0] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape0-chunks0-20-expected0] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape1-chunks1-20-expected1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape1-chunks1-20-expected1] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape2-auto-10-expected2] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_2d[shape2-auto-10-expected2] dask/array/tests/test_array_core.py::test_normalize_chunks_auto_3d [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_auto_3d dask/array/tests/test_array_core.py::test_constructors_chunks_dict [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_constructors_chunks_dict dask/array/tests/test_array_core.py::test_from_array_chunks_dict [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_from_array_chunks_dict dask/array/tests/test_array_core.py::test_normalize_chunks_object_dtype[object] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_object_dtype[object] dask/array/tests/test_array_core.py::test_normalize_chunks_object_dtype[dtype1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_object_dtype[dtype1] dask/array/tests/test_array_core.py::test_normalize_chunks_tuples_of_tuples [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_tuples_of_tuples dask/array/tests/test_array_core.py::test_normalize_chunks_nan [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_normalize_chunks_nan dask/array/tests/test_array_core.py::test_pandas_from_dask_array [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes5-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_pandas_from_dask_array dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes5-ifftshift-fftshift] dask/array/tests/test_array_core.py::test_from_zarr_unique_name [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_from_zarr_unique_name dask/array/tests/test_array_core.py::test_from_zarr_name [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_from_zarr_name dask/array/tests/test_array_core.py::test_zarr_roundtrip [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes5-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes6-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_roundtrip dask/array/tests/test_array_core.py::test_zarr_roundtrip_with_path_like [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes6-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes6-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_roundtrip_with_path_like dask/array/tests/test_array_core.py::test_to_zarr_accepts_empty_array_without_exception_raised [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_to_zarr_accepts_empty_array_without_exception_raised dask/array/tests/test_array_core.py::test_zarr_return_stored[False] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes6-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes7-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_return_stored[False] dask/array/tests/test_array_core.py::test_zarr_return_stored[True] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_return_stored[True] dask/array/tests/test_array_core.py::test_zarr_inline_array[True] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_inline_array[True] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes7-fftshift-ifftshift] dask/array/tests/test_array_core.py::test_zarr_inline_array[False] dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes7-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_inline_array[False] dask/array/tests/test_array_core.py::test_zarr_existing_array [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_existing_array dask/array/tests/test_array_core.py::test_to_zarr_unknown_chunks_raises [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_to_zarr_unknown_chunks_raises dask/array/tests/test_array_core.py::test_read_zarr_chunks [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_read_zarr_chunks dask/array/tests/test_array_core.py::test_zarr_pass_store [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape1-chunks1-axes7-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-None-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_pass_store dask/array/tests/test_array_core.py::test_zarr_group [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-None-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-None-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-None-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-0-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-0-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-0-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_group dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape0-chunks0-True] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-0-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-1-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape0-chunks0-True] dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape1-chunks1-True] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-1-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-1-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape1-chunks1-True] dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape2-chunks2-False] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-1-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-2-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape2-chunks2-False] dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape3-chunks3-False] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-2-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-2-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape3-chunks3-False] dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape4-chunks4-True] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-2-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes4-fftshift-ifftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_irregular_chunks[shape4-chunks4-True] dask/array/tests/test_array_core.py::test_regular_chunks[data0] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data0] dask/array/tests/test_array_core.py::test_regular_chunks[data1] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data1] dask/array/tests/test_array_core.py::test_regular_chunks[data2] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data2] dask/array/tests/test_array_core.py::test_regular_chunks[data3] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data3] dask/array/tests/test_array_core.py::test_regular_chunks[data4] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data4] dask/array/tests/test_array_core.py::test_regular_chunks[data5] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data5] dask/array/tests/test_array_core.py::test_regular_chunks[data6] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data6] dask/array/tests/test_array_core.py::test_regular_chunks[data7] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_regular_chunks[data7] dask/array/tests/test_array_core.py::test_zarr_nocompute [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes4-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes4-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_nocompute dask/array/tests/test_array_core.py::test_zarr_regions [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes4-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes5-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes5-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes5-ifftshift-fftshift] [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_zarr_regions dask/array/tests/test_array_core.py::test_tiledb_roundtrip [gw0] [ 5%] SKIPPED dask/array/tests/test_array_core.py::test_tiledb_roundtrip dask/array/tests/test_array_core.py::test_tiledb_multiattr [gw0] [ 5%] SKIPPED dask/array/tests/test_array_core.py::test_tiledb_multiattr dask/array/tests/test_array_core.py::test_blockview [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes5-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes6-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes6-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes6-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes6-ifftshift-fftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes7-fftshift-ifftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes7-fftshift-ifftshift] dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes7-ifftshift-fftshift] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_fftshift_identity[shape2-chunks2-axes7-ifftshift-fftshift] dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[numpy.fft] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[numpy.fft] dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[scipy.fft] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[scipy.fft] dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[scipy.fftpack] [gw1] [ 5%] PASSED dask/array/tests/test_fft.py::test_scipy_fftpack_future_warning[scipy.fftpack] dask/array/tests/test_gufunc.py::test__parse_gufunc_signature [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test__parse_gufunc_signature dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_input_validation_01 [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_input_validation_01 dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_args_validation [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_args_validation dask/array/tests/test_gufunc.py::test__validate_normalize_axes_01 [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test__validate_normalize_axes_01 dask/array/tests/test_gufunc.py::test__validate_normalize_axes_02 [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test__validate_normalize_axes_02 dask/array/tests/test_gufunc.py::test__validate_normalize_axes_03 [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test__validate_normalize_axes_03 dask/array/tests/test_gufunc.py::test_apply_gufunc_01 [gw1] [ 5%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_01 dask/array/tests/test_gufunc.py::test_apply_gufunc_01b [gw0] [ 5%] PASSED dask/array/tests/test_array_core.py::test_blockview dask/array/tests/test_array_core.py::test_blocks_indexer [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_01b dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string[False] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string[False] dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string[True] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string[True] dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string_many_outputs[False] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string_many_outputs[False] dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string_many_outputs[True] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_blocks_indexer dask/array/tests/test_array_core.py::test_partitions_indexer [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes_string_many_outputs[True] dask/array/tests/test_gufunc.py::test_apply_gufunc_pass_additional_kwargs [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_pass_additional_kwargs dask/array/tests/test_gufunc.py::test_apply_gufunc_02 [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_02 dask/array/tests/test_gufunc.py::test_apply_gufunc_scalar_output [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_scalar_output dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_01 [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_01 dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_01b [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_01b dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_02 [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_02 [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_partitions_indexer dask/array/tests/test_gufunc.py::test_gufunc_vector_output dask/array/tests/test_array_core.py::test_dask_array_holds_scipy_sparse_containers[array] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_vector_output dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_loop [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_loop dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_core [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_elemwise_core dask/array/tests/test_gufunc.py::test_apply_gufunc_two_scalar_output [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_two_scalar_output dask/array/tests/test_gufunc.py::test_apply_gufunc_two_mixed_outputs [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_two_mixed_outputs dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes[int] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_dask_array_holds_scipy_sparse_containers[array] dask/array/tests/test_array_core.py::test_dask_array_holds_scipy_sparse_containers[matrix] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes[int] dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes[output_dtypes1] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_output_dtypes[output_dtypes1] dask/array/tests/test_gufunc.py::test_gufunc_two_inputs [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_two_inputs dask/array/tests/test_gufunc.py::test_gufunc_mixed_inputs [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_dask_array_holds_scipy_sparse_containers[matrix] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index0] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_mixed_inputs dask/array/tests/test_gufunc.py::test_gufunc_mixed_inputs_vectorize [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_mixed_inputs_vectorize dask/array/tests/test_gufunc.py::test_gufunc_vectorize_whitespace [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-0] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_vectorize_whitespace dask/array/tests/test_gufunc.py::test_gufunc [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index2] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc dask/array/tests/test_gufunc.py::test_as_gufunc [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index2] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index3] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_as_gufunc dask/array/tests/test_gufunc.py::test_apply_gufunc_broadcasting_loopdims [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index3] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index4] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index4] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index5] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_broadcasting_loopdims dask/array/tests/test_gufunc.py::test_apply_gufunc_check_same_dimsizes [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_check_same_dimsizes dask/array/tests/test_gufunc.py::test_apply_gufunc_check_coredim_chunksize [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_check_coredim_chunksize dask/array/tests/test_gufunc.py::test_apply_gufunc_check_inhomogeneous_chunksize [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_check_inhomogeneous_chunksize dask/array/tests/test_gufunc.py::test_apply_gufunc_infer_dtype [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_matrix-index5] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index2] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_infer_dtype dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_01[False] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index2] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index3] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index4] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_01[False] dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_01[True] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_01[True] dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_02 [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index4] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index5] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_02 dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_02b [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[scipy.sparse-csr_array-index5] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index0] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-0] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-0] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index2] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index2] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index3] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index3] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index4] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index4] dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index5] [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_scipy_sparse_indexing[cupyx.scipy.sparse-csr_matrix-index5] dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[array-0] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_02b dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_03 [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_03 dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[-2] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[-2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[array-0] dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[-1] dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[array-1] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[-1] dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[None] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axis_keepdims[None] dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_01[axes0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[array-1] dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[matrix-0] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_01[axes0] dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_01[axes1] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_01[axes1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[matrix-0] dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_02 dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[matrix-1] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_02 dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_two_kept_coredims [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_axes_two_kept_coredims dask/array/tests/test_gufunc.py::test_apply_gufunc_via_numba_01 [gw1] [ 6%] SKIPPED dask/array/tests/test_gufunc.py::test_apply_gufunc_via_numba_01 dask/array/tests/test_gufunc.py::test_apply_gufunc_via_numba_02 [gw1] [ 6%] SKIPPED dask/array/tests/test_gufunc.py::test_apply_gufunc_via_numba_02 dask/array/tests/test_gufunc.py::test_preserve_meta_type [gw1] [ 6%] SKIPPED dask/array/tests/test_gufunc.py::test_preserve_meta_type dask/array/tests/test_gufunc.py::test_apply_gufunc_with_meta [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_concatenate[matrix-1] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src0-asarray] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src0-asarray] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src0-asanyarray] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_apply_gufunc_with_meta dask/array/tests/test_gufunc.py::test_as_gufunc_with_meta [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src0-asanyarray] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src1-asarray] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src1-asarray] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src1-asanyarray] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_as_gufunc_with_meta dask/array/tests/test_gufunc.py::test_gufunc_chunksizes_adjustment [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src1-asanyarray] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src2-asarray] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src2-asarray] dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src2-asanyarray] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scipy_sparse_asarray_like[src2-asanyarray] [gw1] [ 6%] PASSED dask/array/tests/test_gufunc.py::test_gufunc_chunksizes_adjustment dask/array/tests/test_array_core.py::test_3851 dask/array/tests/test_linalg.py::test_tsqr[20-10-10-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_3851 dask/array/tests/test_array_core.py::test_3925 [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_3925 dask/array/tests/test_array_core.py::test_map_blocks_large_inputs_delayed [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_large_inputs_delayed dask/array/tests/test_array_core.py::test_blockwise_large_inputs_delayed [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_blockwise_large_inputs_delayed dask/array/tests/test_array_core.py::test_slice_reversed [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_slice_reversed dask/array/tests/test_array_core.py::test_map_blocks_chunks [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[20-10-10-None] dask/array/tests/test_linalg.py::test_tsqr[20-10-chunks1-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_map_blocks_chunks dask/array/tests/test_array_core.py::test_nbytes_auto [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_nbytes_auto dask/array/tests/test_array_core.py::test_auto_chunks [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_auto_chunks dask/array/tests/test_array_core.py::test_auto_chunks_h5py [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_auto_chunks_h5py dask/array/tests/test_array_core.py::test_no_warnings_from_blockwise [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_no_warnings_from_blockwise dask/array/tests/test_array_core.py::test_from_array_meta [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_from_array_meta dask/array/tests/test_array_core.py::test_compute_chunk_sizes [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes dask/array/tests/test_array_core.py::test_compute_chunk_sizes_2d_array [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[20-10-chunks1-None] dask/array/tests/test_linalg.py::test_tsqr[20-10-chunks2-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_2d_array dask/array/tests/test_array_core.py::test_compute_chunk_sizes_3d_array [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_3d_array dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_rechunk [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_rechunk dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_to_zarr [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[20-10-chunks2-None] dask/array/tests/test_linalg.py::test_tsqr[40-10-chunks3-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_to_zarr dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_to_svg [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_to_svg dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_concatenate [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_concatenate dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_reduction [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_reduction [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[40-10-chunks3-None] dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_reshape dask/array/tests/test_linalg.py::test_tsqr[128-2-chunks4-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_reshape dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_slicing [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_compute_chunk_sizes_warning_fixes_slicing dask/array/tests/test_array_core.py::test_rechunk_auto [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_rechunk_auto dask/array/tests/test_array_core.py::test_chunk_assignment_invalidates_cached_properties [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_assignment_invalidates_cached_properties dask/array/tests/test_array_core.py::test_map_blocks_series [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_map_blocks_series dask/array/tests/test_array_core.py::test_map_blocks_dataframe [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[128-2-chunks4-None] dask/array/tests/test_linalg.py::test_tsqr[129-2-chunks5-None] [gw0] [ 6%] XFAIL dask/array/tests/test_array_core.py::test_map_blocks_dataframe dask/array/tests/test_array_core.py::test_dask_layers [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_dask_layers dask/array/tests/test_array_core.py::test_len_object_with_unknown_size [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_len_object_with_unknown_size dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[0] dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[1] dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[3] [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[129-2-chunks5-None] dask/array/tests/test_linalg.py::test_tsqr[130-2-chunks6-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[3] dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[8] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_shape_broadcast[8] dask/array/tests/test_array_core.py::test_chunk_non_array_like [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_chunk_non_array_like dask/array/tests/test_array_core.py::test_to_backend [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_to_backend dask/array/tests/test_array_core.py::test_from_array_copies [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_from_array_copies dask/array/tests/test_array_core.py::test_from_array_xarray_dataarray [gw0] [ 6%] SKIPPED dask/array/tests/test_array_core.py::test_from_array_xarray_dataarray dask/array/tests/test_array_core.py::test_load_store_chunk [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_load_store_chunk dask/array/tests/test_array_core.py::test_scalar_setitem [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_scalar_setitem dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx0] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx1] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx2] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_0-idx3] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx0] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx1] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx2] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[3.3_1-idx3] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx0] [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[130-2-chunks6-None] dask/array/tests/test_linalg.py::test_tsqr[131-2-chunks7-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx0] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx1] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx2] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val2-idx3] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx0] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx1] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx2] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val3-idx3] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx0] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx0] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx1] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx1] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx2] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx2] dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx3] [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_setitem_no_dtype_broadcast[val4-idx3] dask/array/tests/test_array_core.py::test_store_sources_unoptimized_nocompute [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_store_sources_unoptimized_nocompute dask/array/tests/test_array_core.py::test_blockwise_fusion [gw0] [ 6%] PASSED dask/array/tests/test_array_core.py::test_blockwise_fusion [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[131-2-chunks7-None] dask/array/tests/test_array_expr_incompatible.py::test_concatenate3_nep18_dispatching[True] [gw0] [ 6%] PASSED dask/array/tests/test_array_expr_incompatible.py::test_concatenate3_nep18_dispatching[True] dask/array/tests/test_array_expr_incompatible.py::test_concatenate3_nep18_dispatching[False] dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks8-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_expr_incompatible.py::test_concatenate3_nep18_dispatching[False] dask/array/tests/test_array_function.py::test_array_function_dask[0] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[0] dask/array/tests/test_array_function.py::test_array_function_dask[1] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[1] dask/array/tests/test_array_function.py::test_array_function_dask[2] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[2] dask/array/tests/test_array_function.py::test_array_function_dask[3] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[3] dask/array/tests/test_array_function.py::test_array_function_dask[4] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[4] dask/array/tests/test_array_function.py::test_array_function_dask[5] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[5] dask/array/tests/test_array_function.py::test_array_function_dask[6] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[6] dask/array/tests/test_array_function.py::test_array_function_dask[7] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[7] dask/array/tests/test_array_function.py::test_array_function_dask[8] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[8] dask/array/tests/test_array_function.py::test_array_function_dask[9] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[9] dask/array/tests/test_array_function.py::test_array_function_dask[10] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[10] dask/array/tests/test_array_function.py::test_array_function_dask[11] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[11] dask/array/tests/test_array_function.py::test_array_function_dask[12] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[12] dask/array/tests/test_array_function.py::test_array_function_dask[13] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[13] dask/array/tests/test_array_function.py::test_array_function_dask[14] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[14] dask/array/tests/test_array_function.py::test_array_function_dask[15] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[15] dask/array/tests/test_array_function.py::test_array_function_dask[16] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[16] dask/array/tests/test_array_function.py::test_array_function_dask[17] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[17] dask/array/tests/test_array_function.py::test_array_function_dask[18] [gw1] [ 6%] PASSED dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks8-None] dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks9-None] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[18] dask/array/tests/test_array_function.py::test_array_function_dask[19] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[19] dask/array/tests/test_array_function.py::test_array_function_dask[20] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_dask[20] dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[0] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[0] dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[1] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[1] dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[2] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_stack_functions_require_sequence_of_arrays[2] dask/array/tests/test_array_function.py::test_array_function_fft[fft] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_fft[fft] dask/array/tests/test_array_function.py::test_array_function_fft[fft2] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_function_fft[fft2] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[0] [gw0] [ 6%] PASSED dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[0] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[1] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[1] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[2] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[2] dask/array/tests/test_array_function.py::test_array_function_sparse[0] [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_sparse[0] dask/array/tests/test_array_function.py::test_array_function_sparse[1] [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_sparse[1] dask/array/tests/test_array_function.py::test_array_function_sparse[2] [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_sparse[2] dask/array/tests/test_array_function.py::test_array_function_sparse_tensordot [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_sparse_tensordot dask/array/tests/test_array_function.py::test_array_function_cupy_svd[chunks0] [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_cupy_svd[chunks0] dask/array/tests/test_array_function.py::test_array_function_cupy_svd[chunks1] [gw0] [ 7%] SKIPPED dask/array/tests/test_array_function.py::test_array_function_cupy_svd[chunks1] dask/array/tests/test_array_function.py::test_unregistered_func[0] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[0] dask/array/tests/test_array_function.py::test_unregistered_func[1] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[1] dask/array/tests/test_array_function.py::test_unregistered_func[2] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks9-None] dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks10-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[2] dask/array/tests/test_array_function.py::test_unregistered_func[3] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[3] dask/array/tests/test_array_function.py::test_unregistered_func[4] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[4] dask/array/tests/test_array_function.py::test_unregistered_func[5] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[5] dask/array/tests/test_array_function.py::test_unregistered_func[6] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[6] dask/array/tests/test_array_function.py::test_unregistered_func[7] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[7] dask/array/tests/test_array_function.py::test_unregistered_func[8] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[8] dask/array/tests/test_array_function.py::test_unregistered_func[9] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[9] dask/array/tests/test_array_function.py::test_unregistered_func[10] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[10] dask/array/tests/test_array_function.py::test_unregistered_func[11] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[11] dask/array/tests/test_array_function.py::test_unregistered_func[12] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_unregistered_func[12] dask/array/tests/test_array_function.py::test_non_existent_func [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_non_existent_func dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-equal] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-equal] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-matmul] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-matmul] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-dot] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-dot] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-equal] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-equal] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-matmul] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-matmul] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-dot] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-dot] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-equal] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-equal] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-matmul] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-matmul] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-dot] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-dot] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-] dask/array/tests/test_array_function.py::test_like[array-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[array-numpy] dask/array/tests/test_array_function.py::test_like[array-dask.array] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[array-dask.array] dask/array/tests/test_array_function.py::test_like[asarray-numpy] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[300-10-chunks10-None] dask/array/tests/test_linalg.py::test_tsqr[10-5-10-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[asarray-numpy] dask/array/tests/test_array_function.py::test_like[asarray-dask.array] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[10-5-10-None] dask/array/tests/test_linalg.py::test_tsqr[5-10-10-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[asarray-dask.array] dask/array/tests/test_array_function.py::test_like[asanyarray-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[asanyarray-numpy] dask/array/tests/test_array_function.py::test_like[asanyarray-dask.array] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[5-10-10-None] dask/array/tests/test_linalg.py::test_tsqr[10-10-10-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like[asanyarray-dask.array] dask/array/tests/test_array_function.py::test_tri_like[numpy] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[10-10-10-None] dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks14-ValueError] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_tri_like[numpy] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks14-ValueError] dask/array/tests/test_array_function.py::test_tri_like[dask.array] dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks15-ValueError] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks15-ValueError] dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks16-ValueError] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[10-40-chunks16-ValueError] dask/array/tests/test_linalg.py::test_tsqr[20-20-10-ValueError] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr[20-20-10-ValueError] dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks0-True-False-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_tri_like[dask.array] dask/array/tests/test_array_function.py::test_like_with_numpy_func[array] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func[array] dask/array/tests/test_array_function.py::test_like_with_numpy_func[asarray] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func[asarray] dask/array/tests/test_array_function.py::test_like_with_numpy_func[asanyarray] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func[asanyarray] dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[array] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[array] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks0-True-False-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks1-False-True-None] dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[asarray] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[asarray] dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[asanyarray] [gw0] [ 7%] PASSED dask/array/tests/test_array_function.py::test_like_with_numpy_func_and_dtype[asanyarray] dask/array/tests/test_array_utils.py::test_meta_from_array[asarray] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array[asarray] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-2] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[None-str2] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-2] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks1-False-True-None] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[bool-str2] dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks2-True-True-None] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-2] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[int-str2] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str0] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str1] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-2] dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_literal[float-str2] dask/array/tests/test_array_utils.py::test_meta_from_array_type_inputs [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_type_inputs dask/array/tests/test_array_utils.py::test_meta_from_array_scipy_sparse [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_meta_from_array_scipy_sparse dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a0-1.0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a0-1.0] dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a1-b1] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[10-5-chunks2-True-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks3-True-False-None] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a1-b1] dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a2-b2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_checks_dtype[a2-b2] dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[1.0-1.0] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[1.0-1.0] dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[a1-b1] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[a1-b1] dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[a2-b2] [gw0] [ 7%] PASSED dask/array/tests/test_array_utils.py::test_assert_eq_scheduler[a2-b2] dask/array/tests/test_atop.py::test_rewrite[inputs0-expected0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs0-expected0] dask/array/tests/test_atop.py::test_rewrite[inputs1-expected1] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs1-expected1] dask/array/tests/test_atop.py::test_rewrite[inputs2-expected2] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs2-expected2] dask/array/tests/test_atop.py::test_rewrite[inputs3-expected3] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs3-expected3] dask/array/tests/test_atop.py::test_rewrite[inputs4-expected4] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs4-expected4] dask/array/tests/test_atop.py::test_rewrite[inputs5-expected5] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs5-expected5] dask/array/tests/test_atop.py::test_rewrite[inputs6-expected6] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs6-expected6] dask/array/tests/test_atop.py::test_rewrite[inputs7-expected7] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs7-expected7] dask/array/tests/test_atop.py::test_rewrite[inputs8-expected8] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs8-expected8] dask/array/tests/test_atop.py::test_rewrite[inputs9-expected9] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs9-expected9] dask/array/tests/test_atop.py::test_rewrite[inputs10-expected10] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs10-expected10] dask/array/tests/test_atop.py::test_rewrite[inputs11-expected11] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs11-expected11] dask/array/tests/test_atop.py::test_rewrite[inputs12-expected12] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs12-expected12] dask/array/tests/test_atop.py::test_rewrite[inputs13-expected13] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs13-expected13] dask/array/tests/test_atop.py::test_rewrite[inputs14-expected14] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs14-expected14] dask/array/tests/test_atop.py::test_rewrite[inputs15-expected15] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs15-expected15] dask/array/tests/test_atop.py::test_rewrite[inputs16-expected16] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs16-expected16] dask/array/tests/test_atop.py::test_rewrite[inputs17-expected17] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_rewrite[inputs17-expected17] dask/array/tests/test_atop.py::test_index_subs [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_index_subs dask/array/tests/test_atop.py::test_optimize_blockwise [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_optimize_blockwise dask/array/tests/test_atop.py::test_optimize_blockwise_control_annotations [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks3-True-False-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks4-False-True-None] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_optimize_blockwise_control_annotations dask/array/tests/test_atop.py::test_optimize_blockwise_custom_annotations [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_optimize_blockwise_custom_annotations dask/array/tests/test_atop.py::test_blockwise_diamond_fusion [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_diamond_fusion dask/array/tests/test_atop.py::test_blockwise_non_blockwise_output [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_non_blockwise_output dask/array/tests/test_atop.py::test_top_len [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_top_len dask/array/tests/test_atop.py::test_inner_compute [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_inner_compute dask/array/tests/test_atop.py::test_common_token_names_args[_] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks4-False-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks5-True-True-None] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_args[_] dask/array/tests/test_atop.py::test_common_token_names_args[_0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_args[_0] dask/array/tests/test_atop.py::test_common_token_names_args[_1] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_args[_1] dask/array/tests/test_atop.py::test_common_token_names_args[.] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_args[.] dask/array/tests/test_atop.py::test_common_token_names_args[.0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_args[.0] dask/array/tests/test_atop.py::test_common_token_names_kwargs[_0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_kwargs[_0] dask/array/tests/test_atop.py::test_common_token_names_kwargs[_1] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_kwargs[_1] dask/array/tests/test_atop.py::test_common_token_names_kwargs[.] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_kwargs[.] dask/array/tests/test_atop.py::test_common_token_names_kwargs[.0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_kwargs[.0] dask/array/tests/test_atop.py::test_common_token_names_kwargs[_] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_common_token_names_kwargs[_] dask/array/tests/test_atop.py::test_blockwise_names [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_names dask/array/tests/test_atop.py::test_blockwise_new_axes [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[40-5-chunks5-True-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks6-True-False-None] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_new_axes dask/array/tests/test_atop.py::test_blockwise_new_axes_2 [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_new_axes_2 dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes[True] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes[True] dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes[False] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes[False] dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_front[True] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_front[True] dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_front[False] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_front[False] dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_same_dim[True] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_same_dim[True] dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_same_dim[False] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_stacked_new_axes_same_dim[False] dask/array/tests/test_atop.py::test_blockwise_new_axes_chunked [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_new_axes_chunked dask/array/tests/test_atop.py::test_blockwise_no_args [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_no_args dask/array/tests/test_atop.py::test_blockwise_no_array_args [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_no_array_args dask/array/tests/test_atop.py::test_blockwise_kwargs [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_kwargs dask/array/tests/test_atop.py::test_blockwise_chunks [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_chunks dask/array/tests/test_atop.py::test_blockwise_numpy_arg [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_blockwise_numpy_arg [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks6-True-False-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks7-True-False-None] dask/array/tests/test_atop.py::test_bag_array_conversion [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_bag_array_conversion dask/array/tests/test_atop.py::test_svd [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_svd dask/array/tests/test_atop.py::test_args_delayed [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_args_delayed dask/array/tests/test_atop.py::test_namedtuple[tup0] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_namedtuple[tup0] dask/array/tests/test_atop.py::test_namedtuple[tup1] [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_namedtuple[tup1] dask/array/tests/test_atop.py::test_validate_top_inputs [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_validate_top_inputs dask/array/tests/test_atop.py::test_dont_merge_before_reductions [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_dont_merge_before_reductions dask/array/tests/test_atop.py::test_atop_legacy [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_atop_legacy dask/array/tests/test_atop.py::test_non_hlg [gw0] [ 7%] PASSED dask/array/tests/test_atop.py::test_non_hlg dask/array/tests/test_chunk.py::test_keepdims_wrapper_no_axis [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_keepdims_wrapper_no_axis dask/array/tests/test_chunk.py::test_keepdims_wrapper_one_axis [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_keepdims_wrapper_one_axis dask/array/tests/test_chunk.py::test_keepdims_wrapper_two_axes [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_keepdims_wrapper_two_axes dask/array/tests/test_chunk.py::test_coarsen [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_coarsen dask/array/tests/test_chunk.py::test_coarsen_unaligned_shape [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_coarsen_unaligned_shape dask/array/tests/test_chunk.py::test_integer_input [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_integer_input dask/array/tests/test_chunk.py::test_getitem [gw0] [ 7%] PASSED dask/array/tests/test_chunk.py::test_getitem dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty_like-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty_like-cupy] [gw0] [ 7%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty-cupy] [gw0] [ 7%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones_like-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones_like-cupy] [gw0] [ 7%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones-cupy] [gw0] [ 7%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros_like-numpy] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros_like-cupy] [gw0] [ 7%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros-numpy] [gw1] [ 7%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks7-True-False-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks8-True-False-None] [gw0] [ 7%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full-numpy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks8-True-False-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks9-False-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-tuple-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full-numpy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks9-False-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full-numpy] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks10-False-True-None] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones_like-numpy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks10-False-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks11-False-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-list-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty_like-numpy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks11-False-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks12-True-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros_like-numpy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks12-True-True-None] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks13-True-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-None-shape0-chunks0-asarray-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones_like-cupy] [gw1] [ 8%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks13-True-True-None] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones-numpy] dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks14-True-True-None] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty_like-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty-cupy] [gw0] [ 8%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones_like-numpy] [gw0] [ 8%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-tuple-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full_like-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_tsqr_uncertain[300-10-chunks14-True-True-None] dask/array/tests/test_linalg.py::test_tsqr_zero_height_chunks [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_tsqr_zero_height_chunks dask/array/tests/test_linalg.py::test_sfqr[20-10-10-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[20-10-10-ValueError] dask/array/tests/test_linalg.py::test_sfqr[20-10-chunks1-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[20-10-chunks1-ValueError] dask/array/tests/test_linalg.py::test_sfqr[20-10-chunks2-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[20-10-chunks2-ValueError] dask/array/tests/test_linalg.py::test_sfqr[40-10-chunks3-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[40-10-chunks3-ValueError] dask/array/tests/test_linalg.py::test_sfqr[128-2-chunks4-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[128-2-chunks4-ValueError] dask/array/tests/test_linalg.py::test_sfqr[129-2-chunks5-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[129-2-chunks5-ValueError] dask/array/tests/test_linalg.py::test_sfqr[130-2-chunks6-ValueError] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[130-2-chunks6-ValueError] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones-cupy] dask/array/tests/test_linalg.py::test_sfqr[131-2-chunks7-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[131-2-chunks7-ValueError] dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks8-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks8-ValueError] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-ones-cupy] dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks9-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks9-ValueError] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros_like-numpy] dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks10-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[300-10-chunks10-ValueError] dask/array/tests/test_linalg.py::test_sfqr[10-5-10-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros_like-cupy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[10-5-10-None] dask/array/tests/test_linalg.py::test_sfqr[5-10-10-None] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full_like-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[5-10-10-None] dask/array/tests/test_linalg.py::test_sfqr[10-10-10-None] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[10-10-10-None] dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks14-None] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks14-None] dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks15-None] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks15-None] dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks16-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[10-40-chunks16-None] dask/array/tests/test_linalg.py::test_sfqr[20-20-10-ValueError] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_sfqr[20-20-10-ValueError] dask/array/tests/test_linalg.py::test_qr[20-10-10-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-list-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[20-10-10-None] dask/array/tests/test_linalg.py::test_qr[20-10-chunks1-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[20-10-chunks1-None] dask/array/tests/test_linalg.py::test_qr[20-10-chunks2-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones_like-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[20-10-chunks2-None] dask/array/tests/test_linalg.py::test_qr[40-10-chunks3-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full_like-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[40-10-chunks3-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full_like-cupy] dask/array/tests/test_linalg.py::test_qr[128-2-chunks4-None] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-C-my-name-shape0-chunks0-asarray-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros_like-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[128-2-chunks4-None] dask/array/tests/test_linalg.py::test_qr[129-2-chunks5-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[129-2-chunks5-None] dask/array/tests/test_linalg.py::test_qr[130-2-chunks6-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full-numpy] [gw1] [ 9%] PASSED dask/array/tests/test_linalg.py::test_qr[130-2-chunks6-None] dask/array/tests/test_linalg.py::test_qr[131-2-chunks7-None] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros_like-numpy] [gw0] [ 9%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros_like-cupy] [gw0] [ 9%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[131-2-chunks7-None] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full_like-numpy] dask/array/tests/test_linalg.py::test_qr[300-10-chunks8-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-tuple-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[300-10-chunks8-None] dask/array/tests/test_linalg.py::test_qr[300-10-chunks9-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros_like-cupy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[300-10-chunks9-None] dask/array/tests/test_linalg.py::test_qr[300-10-chunks10-None] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-list-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[300-10-chunks10-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty-cupy] dask/array/tests/test_linalg.py::test_qr[10-5-10-None] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[10-5-10-None] dask/array/tests/test_linalg.py::test_qr[5-10-10-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[5-10-10-None] dask/array/tests/test_linalg.py::test_qr[10-10-10-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[10-10-10-None] dask/array/tests/test_linalg.py::test_qr[10-40-chunks14-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-zeros-cupy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[10-40-chunks14-None] dask/array/tests/test_linalg.py::test_qr[10-40-chunks15-None] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[10-40-chunks15-None] dask/array/tests/test_linalg.py::test_qr[10-40-chunks16-None] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[10-40-chunks16-None] dask/array/tests/test_linalg.py::test_qr[20-20-10-NotImplementedError] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_qr[20-20-10-NotImplementedError] dask/array/tests/test_linalg.py::test_linalg_consistent_names [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-None-shape0-chunks0-asarray-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_linalg_consistent_names dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[10-20] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones_like-numpy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[10-20] dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[15-15] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros_like-cupy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[15-15] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros-numpy] dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[20-10] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full_like-cupy] [gw1] [ 10%] PASSED dask/array/tests/test_linalg.py::test_dask_svd_self_consistent[20-10] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full-numpy] dask/array/tests/test_linalg.py::test_svd_compressed_compute[power] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-tuple-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros_like-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros_like-cupy] [gw0] [ 10%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros-numpy] [gw0] [ 10%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-list-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones-numpy] [gw1] [ 11%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_compute[power] dask/array/tests/test_linalg.py::test_svd_compressed_compute[QR] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-tuple-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-list-full-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-empty-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-ones-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-zeros-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full_like-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full_like-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full_like-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full_like-cupy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full-numpy] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full-numpy] dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full-cupy] [gw0] [ 11%] SKIPPED dask/array/tests/test_creation.py::test_arr_like[i4-F-my-name-shape0-chunks0-asarray-asarray-full-cupy] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape0-chunks0-None-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape1-chunks1-out_shape1-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape2-4-20-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape3-chunks3-out_shape3-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape4-None-out_shape4-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape5-chunks5-out_shape5-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape6-chunks6-out_shape6-full_like-kwargs3] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-empty_like-kwargs0] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-empty_like-kwargs0] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-ones_like-kwargs1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-ones_like-kwargs1] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-zeros_like-kwargs2] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-zeros_like-kwargs2] dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-full_like-kwargs3] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arr_like_shape[i4-shape7-auto-out_shape7-full_like-kwargs3] dask/array/tests/test_creation.py::test_linspace[True] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_linspace[True] dask/array/tests/test_creation.py::test_linspace[False] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_linspace[False] dask/array/tests/test_creation.py::test_arange [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int] [gw1] [ 11%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_compute[QR] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-int] dask/array/tests/test_linalg.py::test_svd_compressed[iterator0] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float] [gw1] [ 11%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed[iterator0] dask/array/tests/test_linalg.py::test_svd_compressed[iterator1] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float32] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-uint8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-uint64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int8] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int64] [gw0] [ 11%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint8-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed[iterator1] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int64] dask/array/tests/test_linalg.py::test_svd_compressed_dtype_preservation[float32-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-uint8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_dtype_preservation[float32-float32] dask/array/tests/test_linalg.py::test_svd_compressed_dtype_preservation[float64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float64] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_dtype_preservation[float64-float64] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks0] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks0] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks1] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks1] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int8] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks2] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float64] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float32-chunks2] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float64] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks0] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int8-float] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks0] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-uint8] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks1] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks1] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int64] dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks2] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float64] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_dtype_preservation[float64-chunks2] dask/array/tests/test_linalg.py::test_svd_compressed_deterministic [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[uint64-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_deterministic dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-5] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-10] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-10] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-15] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int8-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float32] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-20] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-uint8] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-uint64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int8] [gw1] [ 12%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-5-20] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-5] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float32] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float64] [gw0] [ 12%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float64] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-10] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-uint64] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-10] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-15] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-20] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int64-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int64] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-10-20] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float32] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-5] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-10] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float32] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-10] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float64] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-15] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float32] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-20] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float32-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float64] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-15-20] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-5] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-uint64] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-10] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-int] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-10] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-15] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int] [gw1] [ 13%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-20] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float32] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-uint8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-uint64] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int8] [gw0] [ 13%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float64] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks0-5-20-20] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-5] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float64-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-10] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-10] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-uint8] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-15] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-20] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-5-20] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-5] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-10] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float64] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-10] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-15] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-15] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-20] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[int-float-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float64] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-10-20] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-5] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-uint64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int64] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-10] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int8-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-10] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-uint8] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-15] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float32-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-20] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float64-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-int] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-int-float] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-uint8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-uint64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int8] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float32] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float64] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-15-20] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-int] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-5] dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_infer[float-float-float] dask/array/tests/test_creation.py::test_arange_dtype_force[uint8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[uint8] dask/array/tests/test_creation.py::test_arange_dtype_force[uint64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[uint64] dask/array/tests/test_creation.py::test_arange_dtype_force[int8] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[int8] dask/array/tests/test_creation.py::test_arange_dtype_force[int64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[int64] dask/array/tests/test_creation.py::test_arange_dtype_force[float32] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[float32] dask/array/tests/test_creation.py::test_arange_dtype_force[float64] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_dtype_force[float64] dask/array/tests/test_creation.py::test_arange_very_large_args[auto-9223372036854765808-9223372036854775807-1] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto-9223372036854765808-9223372036854775807-1] dask/array/tests/test_creation.py::test_arange_very_large_args[auto-9223372036854775807-9223372036854765808--1] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto-9223372036854775807-9223372036854765808--1] dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0-9223372036854775807-9223372036854765808] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0-9223372036854775807-9223372036854765808] dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0.0-9223372036854775807-9223372036854765808] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0.0-9223372036854775807-9223372036854765808] dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0.0--9131138316486228481--92233720368547759] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto-0.0--9131138316486228481--92233720368547759] dask/array/tests/test_creation.py::test_arange_very_large_args[auto--72057594037927945--72057594037927938-1.0] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto--72057594037927945--72057594037927938-1.0] dask/array/tests/test_creation.py::test_arange_very_large_args[auto--72057594037927945--72057594037927938-1.5] [gw0] [ 14%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[auto--72057594037927945--72057594037927938-1.5] dask/array/tests/test_creation.py::test_arange_very_large_args[1-9223372036854765808-9223372036854775807-1] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-5] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-10] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-10] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-15] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-15] dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-20] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_svd_compressed_shapes[chunks1-5-20-20] dask/array/tests/test_linalg.py::test_lu_1 [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_lu_1 dask/array/tests/test_linalg.py::test_lu_2[10] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_2[10] dask/array/tests/test_linalg.py::test_lu_2[20] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_2[20] dask/array/tests/test_linalg.py::test_lu_2[30] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_2[30] dask/array/tests/test_linalg.py::test_lu_2[50] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_2[50] dask/array/tests/test_linalg.py::test_lu_3[50] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_3[50] dask/array/tests/test_linalg.py::test_lu_3[100] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_3[100] dask/array/tests/test_linalg.py::test_lu_3[200] [gw1] [ 14%] SKIPPED dask/array/tests/test_linalg.py::test_lu_3[200] dask/array/tests/test_linalg.py::test_lu_errors [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_lu_errors dask/array/tests/test_linalg.py::test_solve_triangular_vector[20-10] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_vector[20-10] dask/array/tests/test_linalg.py::test_solve_triangular_vector[50-10] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_vector[50-10] dask/array/tests/test_linalg.py::test_solve_triangular_vector[70-20] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_vector[70-20] dask/array/tests/test_linalg.py::test_solve_triangular_matrix[20-10] [gw1] [ 14%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix[20-10] dask/array/tests/test_linalg.py::test_solve_triangular_matrix[50-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix[50-10] dask/array/tests/test_linalg.py::test_solve_triangular_matrix[50-20] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix[50-20] dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[20-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[20-10] dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[50-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[50-10] dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[50-20] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_matrix2[50-20] dask/array/tests/test_linalg.py::test_solve_triangular_errors [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_triangular_errors dask/array/tests/test_linalg.py::test_solve[20-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve[20-10] dask/array/tests/test_linalg.py::test_solve[50-10] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1-9223372036854765808-9223372036854775807-1] dask/array/tests/test_creation.py::test_arange_very_large_args[1-9223372036854775807-9223372036854765808--1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve[50-10] dask/array/tests/test_linalg.py::test_inv[20-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_inv[20-10] dask/array/tests/test_linalg.py::test_inv[50-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_inv[50-10] dask/array/tests/test_linalg.py::test_solve_assume_a[20-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_assume_a[20-10] dask/array/tests/test_linalg.py::test_solve_assume_a[30-6] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1-9223372036854775807-9223372036854765808--1] dask/array/tests/test_creation.py::test_arange_very_large_args[1-0-9223372036854775807-9223372036854765808] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1-0-9223372036854775807-9223372036854765808] dask/array/tests/test_creation.py::test_arange_very_large_args[1-0.0-9223372036854775807-9223372036854765808] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1-0.0-9223372036854775807-9223372036854765808] dask/array/tests/test_creation.py::test_arange_very_large_args[1-0.0--9131138316486228481--92233720368547759] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1-0.0--9131138316486228481--92233720368547759] dask/array/tests/test_creation.py::test_arange_very_large_args[1--72057594037927945--72057594037927938-1.0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1--72057594037927945--72057594037927938-1.0] dask/array/tests/test_creation.py::test_arange_very_large_args[1--72057594037927945--72057594037927938-1.5] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_very_large_args[1--72057594037927945--72057594037927938-1.5] dask/array/tests/test_creation.py::test_arange_cast_float_int_step [gw0] [ 15%] XFAIL dask/array/tests/test_creation.py::test_arange_cast_float_int_step dask/array/tests/test_creation.py::test_arange_float_step [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_arange_float_step dask/array/tests/test_creation.py::test_indices_wrong_chunks [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_indices_wrong_chunks dask/array/tests/test_creation.py::test_indices_dimensions_chunks [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_indices_dimensions_chunks dask/array/tests/test_creation.py::test_empty_indices [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_empty_indices dask/array/tests/test_creation.py::test_indices [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_indices dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes0-chunks0] dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes1-chunks1] dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes2-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes2-chunks2] dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes3-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes3-chunks3] dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes4-chunks4] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_solve_assume_a[30-6] dask/array/tests/test_linalg.py::test_cholesky[20-10] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_cholesky[20-10] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes4-chunks4] dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes5-chunks5] dask/array/tests/test_linalg.py::test_cholesky[12-3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-ij-shapes5-chunks5] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes0-chunks0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_cholesky[12-3] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes1-chunks1] dask/array/tests/test_linalg.py::test_cholesky[30-3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes1-chunks1] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes2-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes2-chunks2] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes3-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes3-chunks3] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes4-chunks4] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes4-chunks4] dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes5-chunks5] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[False-xy-shapes5-chunks5] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes0-chunks0] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes1-chunks1] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes2-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes2-chunks2] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes3-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes3-chunks3] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes4-chunks4] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_cholesky[30-3] dask/array/tests/test_linalg.py::test_cholesky[30-6] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes4-chunks4] dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes5-chunks5] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-ij-shapes5-chunks5] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes0-chunks0] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_cholesky[30-6] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes2-chunks2] dask/array/tests/test_linalg.py::test_lstsq[20-10-5-False] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes2-chunks2] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes3-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes3-chunks3] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes4-chunks4] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes4-chunks4] dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes5-chunks5] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid[True-xy-shapes5-chunks5] dask/array/tests/test_creation.py::test_meshgrid_inputcoercion [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_meshgrid_inputcoercion dask/array/tests/test_creation.py::test_tri[3-None-0-float-auto] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[3-None-0-float-auto] dask/array/tests/test_creation.py::test_tri[4-None-0-float-auto] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[4-None-0-float-auto] dask/array/tests/test_creation.py::test_tri[3-4-0-bool-auto] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[3-4-0-bool-auto] dask/array/tests/test_creation.py::test_tri[3-None-1-int-auto] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[3-None-1-int-auto] dask/array/tests/test_creation.py::test_tri[3-None--1-int-auto] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[3-None--1-int-auto] dask/array/tests/test_creation.py::test_tri[3-None-2-int-1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[3-None-2-int-1] dask/array/tests/test_creation.py::test_tri[6-8--2-int-chunks6] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[6-8--2-int-chunks6] dask/array/tests/test_creation.py::test_tri[6-8-0-int-chunks7] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tri[6-8-0-int-chunks7] dask/array/tests/test_creation.py::test_eye [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_lstsq[20-10-5-False] dask/array/tests/test_linalg.py::test_lstsq[20-10-5-True] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_eye dask/array/tests/test_creation.py::test_diag_bad_input[0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_bad_input[0] dask/array/tests/test_creation.py::test_diag_bad_input[3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_bad_input[3] dask/array/tests/test_creation.py::test_diag_bad_input[-3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_bad_input[-3] dask/array/tests/test_creation.py::test_diag_bad_input[8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_bad_input[8] dask/array/tests/test_creation.py::test_diag_2d_array_creation[0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_2d_array_creation[0] dask/array/tests/test_creation.py::test_diag_2d_array_creation[3] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_lstsq[20-10-5-True] dask/array/tests/test_linalg.py::test_lstsq[100-10-10-False] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_2d_array_creation[3] dask/array/tests/test_creation.py::test_diag_2d_array_creation[-3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_2d_array_creation[-3] dask/array/tests/test_creation.py::test_diag_2d_array_creation[8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_lstsq[100-10-10-False] dask/array/tests/test_linalg.py::test_lstsq[100-10-10-True] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_2d_array_creation[8] dask/array/tests/test_creation.py::test_diag_extraction[0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_extraction[0] dask/array/tests/test_creation.py::test_diag_extraction[3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_extraction[3] dask/array/tests/test_creation.py::test_diag_extraction[-3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_extraction[-3] dask/array/tests/test_creation.py::test_diag_extraction[8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diag_extraction[8] dask/array/tests/test_creation.py::test_creation_data_producers [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_creation_data_producers dask/array/tests/test_creation.py::test_diagonal [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_lstsq[100-10-10-True] dask/array/tests/test_linalg.py::test_no_chunks_svd [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_no_chunks_svd dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_diagonal dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-None] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-None] dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-f8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-f8] dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-i8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs0-i8] dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-None] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks0-shape2] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-None] dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-f8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-f8] dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-i8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs1-i8] dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-None] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-None] dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-f8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-f8] dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-i8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_fromfunction[-kwargs2-i8] dask/array/tests/test_creation.py::test_repeat [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks1-shape2] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f4-chunks2-shape2] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks0-shape2] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks1-shape2] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape0] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape1] dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_correction[f8-chunks2-shape2] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f2] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f4] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f4] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_repeat dask/array/tests/test_creation.py::test_tile_basic[2] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f8] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f16] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-f16] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c8] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c16] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_basic[2] dask/array/tests/test_creation.py::test_tile_basic[reps1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c16] dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c32] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[True-c32] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f2] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f4] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f4] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f8] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_basic[reps1] dask/array/tests/test_creation.py::test_tile_basic[reps2] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f16] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-f16] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c8] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c8] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c16] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_basic[reps2] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c16] dask/array/tests/test_creation.py::test_tile_basic[reps3] dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c32] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_flip_sign[False-c32] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_basic[reps3] dask/array/tests/test_creation.py::test_tile_basic[reps4] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_basic[reps4] dask/array/tests/test_creation.py::test_tile_chunks[0-shape0-chunks0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks0] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[0-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[0-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[0-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[1-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[1-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[1-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[1-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[2-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[2-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[2-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[2-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[3-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[3-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[3-shape1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks1] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[3-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[5-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[5-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[5-shape1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks2] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[5-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[reps5-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[reps5-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[reps5-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[reps5-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_chunks[reps6-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[reps6-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_chunks[reps6-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_chunks[reps6-shape1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape0-chunks3] dask/array/tests/test_creation.py::test_tile_neg_reps[-1-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_neg_reps[-1-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_neg_reps[-1-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_neg_reps[-1-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_neg_reps[-5-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_neg_reps[-5-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_neg_reps[-5-shape1-chunks1] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_neg_reps[-5-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_zero_reps[0-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[0-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_zero_reps[0-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[0-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_zero_reps[reps1-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps1-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_zero_reps[reps1-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps1-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_zero_reps[reps2-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps2-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_zero_reps[reps2-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps2-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_zero_reps[reps3-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps3-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_zero_reps[reps3-shape1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks0] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_zero_reps[reps3-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_empty_array[2-shape0-chunks0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_empty_array[2-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_empty_array[2-shape1-chunks1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_empty_array[2-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_empty_array[reps1-shape0-chunks0] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks1] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_empty_array[reps1-shape0-chunks0] dask/array/tests/test_creation.py::test_tile_empty_array[reps1-shape1-chunks1] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_empty_array[reps1-shape1-chunks1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape0] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape2] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape4] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape5] [gw1] [ 15%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape1-chunks3] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps0-shape5] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape0] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape1] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape2] [gw0] [ 15%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape2] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape4] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks0] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape5] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps1-shape5] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape1] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape2] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape2] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape4] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape5] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps2-shape5] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks2] dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape2] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape4] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape5] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_supported_array_shapes[shape2-chunks3] dask/array/tests/test_linalg.py::test_svd_incompatible_chunking [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps3-shape5] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_incompatible_chunking dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[0] dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[1] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape0] dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape1] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_svd_incompatible_dimensions[3] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape2] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape3] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape1-chunks1-0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape4] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape5] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps4-shape5] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape1] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-None-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape1] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape1-chunks1-0] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape3] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape4] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape4] dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape5] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_tile_np_kroncompare_examples[reps5-shape5] dask/array/tests/test_creation.py::test_pad_0_width[shape0-chunks0-0-constant-kwargs0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape0-chunks0-0-constant-kwargs0] dask/array/tests/test_creation.py::test_pad_0_width[shape1-chunks1-0-edge-kwargs1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape1-chunks1-0-edge-kwargs1] dask/array/tests/test_creation.py::test_pad_0_width[shape2-chunks2-0-linear_ramp-kwargs2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-1-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape2-chunks2-0-linear_ramp-kwargs2] dask/array/tests/test_creation.py::test_pad_0_width[shape3-chunks3-0-reflect-kwargs3] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape3-chunks3-0-reflect-kwargs3] dask/array/tests/test_creation.py::test_pad_0_width[shape4-chunks4-0-symmetric-kwargs4] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape4-chunks4-0-symmetric-kwargs4] dask/array/tests/test_creation.py::test_pad_0_width[shape5-chunks5-0-wrap-kwargs5] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape5-chunks5-0-wrap-kwargs5] dask/array/tests/test_creation.py::test_pad_0_width[shape6-chunks6-0-empty-kwargs6] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_0_width[shape6-chunks6-0-empty-kwargs6] dask/array/tests/test_creation.py::test_pad[shape0-chunks0-1-constant-kwargs0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape0-chunks0-1-constant-kwargs0] dask/array/tests/test_creation.py::test_pad[shape1-chunks1-2-constant-kwargs1] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape1-chunks1-2-constant-kwargs1] dask/array/tests/test_creation.py::test_pad[shape2-chunks2-2-constant-kwargs2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--1-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape2-chunks2-2-constant-kwargs2] dask/array/tests/test_creation.py::test_pad[shape3-chunks3-pad_width3-constant-kwargs3] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape3-chunks3-pad_width3-constant-kwargs3] dask/array/tests/test_creation.py::test_pad[shape4-chunks4-pad_width4-constant-kwargs4] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape4-chunks4-pad_width4-constant-kwargs4] dask/array/tests/test_creation.py::test_pad[shape5-chunks5-3-edge-kwargs5] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape5-chunks5-3-edge-kwargs5] dask/array/tests/test_creation.py::test_pad[shape6-chunks6-3-linear_ramp-kwargs6] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape6-chunks6-3-linear_ramp-kwargs6] dask/array/tests/test_creation.py::test_pad[shape7-chunks7-3-linear_ramp-kwargs7] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False-inf-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape7-chunks7-3-linear_ramp-kwargs7] dask/array/tests/test_creation.py::test_pad[shape8-chunks8-pad_width8-linear_ramp-kwargs8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape1-chunks1-0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape8-chunks8-pad_width8-linear_ramp-kwargs8] dask/array/tests/test_creation.py::test_pad[shape9-chunks9-pad_width9-reflect-kwargs9] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape3-chunks3-None] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[False--inf-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape9-chunks9-pad_width9-reflect-kwargs9] dask/array/tests/test_creation.py::test_pad[shape10-chunks10-pad_width10-symmetric-kwargs10] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape1-chunks1-0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape10-chunks10-pad_width10-symmetric-kwargs10] dask/array/tests/test_creation.py::test_pad[shape11-chunks11-pad_width11-wrap-kwargs11] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape11-chunks11-pad_width11-wrap-kwargs11] dask/array/tests/test_creation.py::test_pad[shape12-chunks12-pad_width12-maximum-kwargs12] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape12-chunks12-pad_width12-maximum-kwargs12] dask/array/tests/test_creation.py::test_pad[shape13-chunks13-pad_width13-mean-kwargs13] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-None-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape0-chunks0-None] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape1-chunks1-0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape13-chunks13-pad_width13-mean-kwargs13] dask/array/tests/test_creation.py::test_pad[shape14-chunks14-pad_width14-minimum-kwargs14] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape14-chunks14-pad_width14-minimum-kwargs14] dask/array/tests/test_creation.py::test_pad[shape15-chunks15-1-empty-kwargs15] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-1-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad[shape15-chunks15-1-empty-kwargs15] dask/array/tests/test_creation.py::test_pad_constant_values[np_a0-pad_value0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a0-pad_value0] dask/array/tests/test_creation.py::test_pad_constant_values[np_a1-0.0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a1-0.0] dask/array/tests/test_creation.py::test_pad_constant_values[np_a2-pad_value2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a2-pad_value2] dask/array/tests/test_creation.py::test_pad_constant_values[np_a3-pad_value3] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a3-pad_value3] dask/array/tests/test_creation.py::test_pad_constant_values[np_a4-00] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a4-00] dask/array/tests/test_creation.py::test_pad_constant_values[np_a5-pad_value5] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape2-chunks2-axis2] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a5-pad_value5] dask/array/tests/test_creation.py::test_pad_constant_values[np_a6-pad_value6] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a6-pad_value6] dask/array/tests/test_creation.py::test_pad_constant_values[np_a7-pad_value7] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a7-pad_value7] dask/array/tests/test_creation.py::test_pad_constant_values[np_a8-pad_value8] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a8-pad_value8] dask/array/tests/test_creation.py::test_pad_constant_values[np_a9-pad_value9] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_constant_values[np_a9-pad_value9] dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--1-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-int16] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-float32] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape2-chunks2-axis2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-bool] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-uint8] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-int16] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-float32] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-bool] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-uint8] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-int16] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-float32] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-bool] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True-inf-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape0-chunks0-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape1-chunks1-0] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape1-chunks1-0] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-int16] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape2-chunks2-axis2] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape3-chunks3-None] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-float32] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_ndim[True--inf-shape3-chunks3-None] dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-bool] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-False-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-False-False-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths3-bool] dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-True-single] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-int16] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-False-single] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-float32] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-False-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-float32] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[None-True-False-double] dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-bool] dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[constant-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-False-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-False-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-True-single] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-int16] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-True-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-False-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[1-True-False-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-float32] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-True-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-False-single] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-bool] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-False-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-True-single] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-True-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-False-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-False-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-int16] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-1-True-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-True-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-False-single] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-float32] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-False-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-True-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-float32] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-False-single] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-bool] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[inf-True-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths1-bool] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-False-single] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-uint8] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-False-double] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-False-False-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-True-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-True-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-True-double] [gw0] [ 16%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-int16] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-True-double] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-False-single] [gw1] [ 16%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-False-single] dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-False-double] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_any_prec[-inf-True-False-double] dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-None-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape2-chunks2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-float32] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-1-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--1-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape3-chunks3] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-float32] dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False-inf-shape4-chunks4] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-bool] dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[False--inf-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-None-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-1-shape4-chunks4] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths2-bool] dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape2-chunks2] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-uint8] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--1-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True-inf-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape0-chunks0] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape0-chunks0] dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape1-chunks1] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape1-chunks1] dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape2-chunks2] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape2-chunks2] dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape3-chunks3] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape3-chunks3] dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape4-chunks4] [gw1] [ 17%] SKIPPED dask/array/tests/test_linalg.py::test_norm_any_slice[True--inf-shape4-chunks4] dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape1-chunks1-0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-float32] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape1-chunks1-0] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape1-chunks1-0] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-float32] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False--2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape1-chunks1-0] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[edge-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[False-0.5-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape1-chunks1-0] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape0-chunks0-None] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-float32] dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape1-chunks1-0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape1-chunks1-0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True--2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape1-chunks1-0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape1-chunks1-0] dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_1dim[True-0.5-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-float32] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-fro-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-nuc-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-float32] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False-2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-float32] dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape2-chunks2-axis2] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[False--2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-fro-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-nuc-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape0-chunks0-None] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape2-chunks2-axis2] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True-2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape0-chunks0-None] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-int16] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape0-chunks0-None] dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-float32] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape2-chunks2-axis2] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-bool] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_2dim[True--2-shape2-chunks2-axis2] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-nuc-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-nuc-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-nuc-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-nuc-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-2-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-2-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-2-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False-2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False--2-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False--2-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[False--2-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[False--2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-nuc-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-nuc-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-nuc-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-nuc-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-2-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-2-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-2-shape1-chunks1-axis1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True-2-shape1-chunks1-axis1] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True--2-shape0-chunks0-axis0] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True--2-shape0-chunks0-axis0] dask/array/tests/test_linalg.py::test_norm_implemented_errors[True--2-shape1-chunks1-axis1] [gw1] [ 17%] PASSED dask/array/tests/test_linalg.py::test_norm_implemented_errors[True--2-shape1-chunks1-axis1] dask/array/tests/test_map_blocks.py::test_map_blocks_block_id_fusion [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-int16] [gw1] [ 17%] PASSED dask/array/tests/test_map_blocks.py::test_map_blocks_block_id_fusion dask/array/tests/test_masked.py::test_tokenize_masked_array [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_tokenize_masked_array dask/array/tests/test_masked.py::test_from_array_masked_array [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_from_array_masked_array dask/array/tests/test_masked.py::test_copy_deepcopy [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-float32] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_copy_deepcopy dask/array/tests/test_masked.py::test_basic[0] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-bool] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[linear_ramp-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[0] dask/array/tests/test_masked.py::test_basic[1] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-int16] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[1] dask/array/tests/test_masked.py::test_basic[2] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[2] dask/array/tests/test_masked.py::test_basic[3] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-float32] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[3] dask/array/tests/test_masked.py::test_basic[4] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-bool] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[4] dask/array/tests/test_masked.py::test_basic[5] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[5] dask/array/tests/test_masked.py::test_basic[6] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[6] dask/array/tests/test_masked.py::test_basic[7] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-int16] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[7] dask/array/tests/test_masked.py::test_basic[8] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[8] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-float32] dask/array/tests/test_masked.py::test_basic[9] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[9] dask/array/tests/test_masked.py::test_basic[10] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-bool] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[10] dask/array/tests/test_masked.py::test_basic[11] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[11] dask/array/tests/test_masked.py::test_basic[12] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-uint8] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[12] dask/array/tests/test_masked.py::test_basic[13] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-int16] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[13] dask/array/tests/test_masked.py::test_basic[14] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-float32] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[14] dask/array/tests/test_masked.py::test_basic[15] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-bool] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[15] dask/array/tests/test_masked.py::test_basic[16] [gw1] [ 17%] PASSED dask/array/tests/test_masked.py::test_basic[16] dask/array/tests/test_masked.py::test_basic[17] [gw0] [ 17%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-uint8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[17] dask/array/tests/test_masked.py::test_basic[18] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-int16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[18] dask/array/tests/test_masked.py::test_basic[19] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[19] dask/array/tests/test_masked.py::test_basic[20] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[20] dask/array/tests/test_masked.py::test_basic[21] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[21] dask/array/tests/test_masked.py::test_basic[22] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-float32] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-bool] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[22] dask/array/tests/test_masked.py::test_basic[23] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths3-bool] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-uint8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[23] dask/array/tests/test_masked.py::test_basic[24] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-int16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[24] dask/array/tests/test_masked.py::test_basic[25] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-int16] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[25] dask/array/tests/test_masked.py::test_basic[26] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-float32] dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-bool] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_basic[26] dask/array/tests/test_masked.py::test_tensordot [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[maximum-pad_widths4-bool] dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-uint8] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-int16] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_tensordot dask/array/tests/test_masked.py::test_mixed_concatenate[0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[0] dask/array/tests/test_masked.py::test_mixed_concatenate[1] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-bool] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[1] dask/array/tests/test_masked.py::test_mixed_concatenate[2] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-uint8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[2] dask/array/tests/test_masked.py::test_mixed_concatenate[3] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[3] dask/array/tests/test_masked.py::test_mixed_concatenate[4] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-int16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[4] dask/array/tests/test_masked.py::test_mixed_concatenate[5] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[5] dask/array/tests/test_masked.py::test_mixed_concatenate[6] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-int16] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[6] dask/array/tests/test_masked.py::test_mixed_concatenate[7] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[7] dask/array/tests/test_masked.py::test_mixed_concatenate[8] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-float32] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-bool] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[8] dask/array/tests/test_masked.py::test_mixed_concatenate[9] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[9] dask/array/tests/test_masked.py::test_mixed_concatenate[10] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths1-bool] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-uint8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[10] dask/array/tests/test_masked.py::test_mixed_concatenate[11] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[11] dask/array/tests/test_masked.py::test_mixed_concatenate[12] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[12] dask/array/tests/test_masked.py::test_mixed_concatenate[13] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-int16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[13] dask/array/tests/test_masked.py::test_mixed_concatenate[14] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[14] dask/array/tests/test_masked.py::test_mixed_concatenate[15] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-int16] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[15] dask/array/tests/test_masked.py::test_mixed_concatenate[16] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-float32] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-bool] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[16] dask/array/tests/test_masked.py::test_mixed_concatenate[17] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[17] dask/array/tests/test_masked.py::test_mixed_concatenate[18] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths2-bool] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-uint8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[18] dask/array/tests/test_masked.py::test_mixed_concatenate[19] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[19] dask/array/tests/test_masked.py::test_mixed_concatenate[20] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-uint8] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-int16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[20] dask/array/tests/test_masked.py::test_mixed_concatenate[21] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[21] dask/array/tests/test_masked.py::test_mixed_concatenate[22] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[22] dask/array/tests/test_masked.py::test_mixed_concatenate[23] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-int16] dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-float32] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[23] dask/array/tests/test_masked.py::test_mixed_concatenate[24] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[24] dask/array/tests/test_masked.py::test_mixed_concatenate[25] [gw0] [ 18%] PASSED dask/array/tests/test_creation.py::test_pad_3d_data[mean-pad_widths3-float32] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[25] dask/array/tests/test_masked.py::test_mixed_concatenate[26] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_concatenate[26] dask/array/tests/test_masked.py::test_mixed_random[0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[0] dask/array/tests/test_masked.py::test_mixed_random[1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[1] dask/array/tests/test_masked.py::test_mixed_random[2] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[2] dask/array/tests/test_masked.py::test_mixed_random[3] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[3] dask/array/tests/test_masked.py::test_mixed_random[4] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[4] dask/array/tests/test_masked.py::test_mixed_random[5] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[5] dask/array/tests/test_masked.py::test_mixed_random[6] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[6] dask/array/tests/test_masked.py::test_mixed_random[7] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[7] dask/array/tests/test_masked.py::test_mixed_random[8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[8] dask/array/tests/test_masked.py::test_mixed_random[9] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[9] dask/array/tests/test_masked.py::test_mixed_random[10] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[10] dask/array/tests/test_masked.py::test_mixed_random[11] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[11] dask/array/tests/test_masked.py::test_mixed_random[12] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[12] dask/array/tests/test_masked.py::test_mixed_random[13] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[13] dask/array/tests/test_masked.py::test_mixed_random[14] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[14] dask/array/tests/test_masked.py::test_mixed_random[15] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[15] dask/array/tests/test_masked.py::test_mixed_random[16] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[16] dask/array/tests/test_masked.py::test_mixed_random[17] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[17] dask/array/tests/test_masked.py::test_mixed_random[18] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[18] dask/array/tests/test_masked.py::test_mixed_random[19] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[19] dask/array/tests/test_masked.py::test_mixed_random[20] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[20] dask/array/tests/test_masked.py::test_mixed_random[21] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[21] dask/array/tests/test_masked.py::test_mixed_random[22] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[22] dask/array/tests/test_masked.py::test_mixed_random[23] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[23] dask/array/tests/test_masked.py::test_mixed_random[24] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[24] dask/array/tests/test_masked.py::test_mixed_random[25] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[25] dask/array/tests/test_masked.py::test_mixed_random[26] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_random[26] dask/array/tests/test_masked.py::test_mixed_output_type [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_mixed_output_type dask/array/tests/test_masked.py::test_creation_functions [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_creation_functions dask/array/tests/test_masked.py::test_filled [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_filled dask/array/tests/test_masked.py::test_reductions[sum-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[sum-i8] dask/array/tests/test_masked.py::test_reductions[sum-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[sum-f8] dask/array/tests/test_masked.py::test_reductions[prod-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[prod-i8] dask/array/tests/test_masked.py::test_reductions[prod-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[prod-f8] dask/array/tests/test_masked.py::test_reductions[mean-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[mean-i8] dask/array/tests/test_masked.py::test_reductions[mean-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[mean-f8] dask/array/tests/test_masked.py::test_reductions[var-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[var-i8] dask/array/tests/test_masked.py::test_reductions[var-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-columns] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[var-f8] dask/array/tests/test_masked.py::test_reductions[std-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[std-i8] dask/array/tests/test_masked.py::test_reductions[std-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-0] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[std-f8] dask/array/tests/test_masked.py::test_reductions[min-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[min-i8] dask/array/tests/test_masked.py::test_reductions[min-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[min-f8] dask/array/tests/test_masked.py::test_reductions[max-i8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[max-i8] dask/array/tests/test_masked.py::test_reductions[max-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[max-f8] dask/array/tests/test_masked.py::test_reductions[any-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[any-i8] dask/array/tests/test_masked.py::test_reductions[any-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[any-f8] dask/array/tests/test_masked.py::test_reductions[all-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[all-i8] dask/array/tests/test_masked.py::test_reductions[all-f8] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions[all-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[sum-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[sum-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[sum-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[sum-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[prod-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[prod-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[prod-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[prod-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[mean-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[mean-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[mean-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[mean-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[var-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[var-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[var-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[var-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[std-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[std-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[std-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[std-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[min-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[min-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[min-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[min-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[max-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[max-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[max-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[max-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[any-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[any-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[any-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[any-f8] dask/array/tests/test_masked.py::test_reductions_allmasked[all-i8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[all-i8] dask/array/tests/test_masked.py::test_reductions_allmasked[all-f8] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_reductions_allmasked[all-f8] dask/array/tests/test_masked.py::test_arg_reductions[argmin] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_arg_reductions[argmin] dask/array/tests/test_masked.py::test_arg_reductions[argmax] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-0] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-columns] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_arg_reductions[argmax] dask/array/tests/test_masked.py::test_cumulative [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-1] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-index] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-0] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-columns] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-1] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_cumulative dask/array/tests/test_masked.py::test_accessors [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_accessors dask/array/tests/test_masked.py::test_masked_array [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-index] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_masked_array dask/array/tests/test_masked.py::test_set_fill_value [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_set_fill_value dask/array/tests/test_masked.py::test_average_weights_with_masked_array[False] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_average_weights_with_masked_array[False] dask/array/tests/test_masked.py::test_average_weights_with_masked_array[True] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_average_weights_with_masked_array[True] dask/array/tests/test_masked.py::test_arithmetic_results_in_masked [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_arithmetic_results_in_masked dask/array/tests/test_masked.py::test_count [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-0] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_count dask/array/tests/test_masked.py::test_like_funcs[ones_like] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_like_funcs[ones_like] dask/array/tests/test_masked.py::test_like_funcs[zeros_like] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_like_funcs[zeros_like] dask/array/tests/test_masked.py::test_like_funcs[empty_like] [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_like_funcs[empty_like] dask/array/tests/test_masked.py::test_nonzero [gw1] [ 18%] PASSED dask/array/tests/test_masked.py::test_nonzero dask/array/tests/test_masked.py::test_where [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-columns] [gw0] [ 18%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-1] [gw1] [ 19%] PASSED dask/array/tests/test_masked.py::test_where dask/array/tests/test_numpy_compat.py::test_basic [gw1] [ 19%] PASSED dask/array/tests/test_numpy_compat.py::test_basic dask/array/tests/test_numpy_compat.py::test_min_max_round_funcs [gw1] [ 19%] PASSED dask/array/tests/test_numpy_compat.py::test_min_max_round_funcs dask/array/tests/test_optimization.py::test_optimize_with_getitem_fusion [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_optimize_with_getitem_fusion dask/array/tests/test_optimization.py::test_fuse_slice [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_slice dask/array/tests/test_optimization.py::test_fuse_slice_with_lists [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_slice_with_lists dask/array/tests/test_optimization.py::test_nonfusible_fancy_indexing [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_nonfusible_fancy_indexing dask/array/tests/test_optimization.py::test_dont_fuse_numpy_arrays [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_dont_fuse_numpy_arrays dask/array/tests/test_optimization.py::test_fuse_slices_with_alias [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_slices_with_alias dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[10] [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[10] dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[5] [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[5] dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[3] [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_getter_with_asarray[3] dask/array/tests/test_optimization.py::test_turn_off_fusion [gw1] [ 19%] XFAIL dask/array/tests/test_optimization.py::test_turn_off_fusion dask/array/tests/test_optimization.py::test_disable_lowlevel_fusion [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_disable_lowlevel_fusion dask/array/tests/test_optimization.py::test_array_creation_blockwise_fusion [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_array_creation_blockwise_fusion dask/array/tests/test_optimization.py::test_gh3937 [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_gh3937 dask/array/tests/test_optimization.py::test_double_dependencies [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_double_dependencies dask/array/tests/test_optimization.py::test_fuse_roots [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_roots dask/array/tests/test_optimization.py::test_fuse_roots_annotations [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_fuse_roots_annotations dask/array/tests/test_optimization.py::test_optimize_blockwise_duplicate_dependency[True] [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_optimize_blockwise_duplicate_dependency[True] dask/array/tests/test_optimization.py::test_optimize_blockwise_duplicate_dependency[False] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-1] [gw1] [ 19%] PASSED dask/array/tests/test_optimization.py::test_optimize_blockwise_duplicate_dependency[False] dask/array/tests/test_overlap.py::test_overlap_internal dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_internal dask/array/tests/test_overlap.py::test_overlap_internal_asymmetric [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_internal_asymmetric dask/array/tests/test_overlap.py::test_overlap_internal_asymmetric_small [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_internal_asymmetric_small dask/array/tests/test_overlap.py::test_trim_internal [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_trim_internal dask/array/tests/test_overlap.py::test_periodic [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_periodic dask/array/tests/test_overlap.py::test_reflect [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_reflect dask/array/tests/test_overlap.py::test_nearest [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_nearest dask/array/tests/test_overlap.py::test_constant [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_constant dask/array/tests/test_overlap.py::test_boundaries [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_boundaries dask/array/tests/test_overlap.py::test_overlap [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap dask/array/tests/test_overlap.py::test_overlap_allow_rechunk_kwarg [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_allow_rechunk_kwarg dask/array/tests/test_overlap.py::test_asymmetric_overlap_boundary_exception [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_asymmetric_overlap_boundary_exception dask/array/tests/test_overlap.py::test_map_overlap [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap dask/array/tests/test_overlap.py::test_map_overlap_escapes_to_map_blocks_when_depth_is_zero [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_escapes_to_map_blocks_when_depth_is_zero dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None] dask/array/tests/test_overlap.py::test_map_overlap_no_depth[reflect] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[reflect] dask/array/tests/test_overlap.py::test_map_overlap_no_depth[periodic] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[periodic] dask/array/tests/test_overlap.py::test_map_overlap_no_depth[nearest] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[nearest] dask/array/tests/test_overlap.py::test_map_overlap_no_depth[none] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[none] dask/array/tests/test_overlap.py::test_map_overlap_no_depth[0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_no_depth[0] dask/array/tests/test_overlap.py::test_map_overlap_multiarray [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray dask/array/tests/test_overlap.py::test_map_overlap_multiarray_defaults [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray_defaults dask/array/tests/test_overlap.py::test_map_overlap_multiarray_different_depths [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-columns] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray_different_depths dask/array/tests/test_overlap.py::test_map_overlap_multiarray_uneven_numblocks_exception [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray_uneven_numblocks_exception dask/array/tests/test_overlap.py::test_map_overlap_multiarray_block_broadcast [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray_block_broadcast dask/array/tests/test_overlap.py::test_map_overlap_multiarray_variadic [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_multiarray_variadic dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis0] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis1] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis2] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis2] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis3] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis3] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis4] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis4] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis5] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis5] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[1] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis7] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-columns] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis7] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis8] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis8] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis9] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis9] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis10] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis10] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis11] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis11] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis12] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[drop_axis12] dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[-2] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_using_drop_axis_and_different_depths[-2] dask/array/tests/test_overlap.py::test_map_overlap_assumes_shape_matches_first_array_if_trim_is_false dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_assumes_shape_matches_first_array_if_trim_is_false dask/array/tests/test_overlap.py::test_map_overlap_deprecated_signature [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_deprecated_signature dask/array/tests/test_overlap.py::test_map_overlap_trim_false_chunking [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_trim_false_chunking dask/array/tests/test_overlap.py::test_nearest_overlap [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_nearest_overlap dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth0] dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth1] dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth2] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth2] dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth3] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_different_depths_and_boundary_combinations[depth3] dask/array/tests/test_overlap.py::test_one_chunk_along_axis [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_one_chunk_along_axis dask/array/tests/test_overlap.py::test_constant_boundaries [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_constant_boundaries dask/array/tests/test_overlap.py::test_depth_greater_than_smallest_chunk_combines_chunks[chunks0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_depth_greater_than_smallest_chunk_combines_chunks[chunks0] dask/array/tests/test_overlap.py::test_depth_greater_than_smallest_chunk_combines_chunks[chunks1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_depth_greater_than_smallest_chunk_combines_chunks[chunks1] dask/array/tests/test_overlap.py::test_depth_greater_than_dim [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_depth_greater_than_dim dask/array/tests/test_overlap.py::test_none_boundaries [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_none_boundaries dask/array/tests/test_overlap.py::test_overlap_small [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_small dask/array/tests/test_overlap.py::test_no_shared_keys_with_different_depths [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-columns] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_no_shared_keys_with_different_depths dask/array/tests/test_overlap.py::test_overlap_few_dimensions_small [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_few_dimensions_small dask/array/tests/test_overlap.py::test_overlap_few_dimensions [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_few_dimensions dask/array/tests/test_overlap.py::test_push [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-1] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-index] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-columns] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_push dask/array/tests/test_overlap.py::test_trim_boundary[reflect] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_trim_boundary[reflect] dask/array/tests/test_overlap.py::test_trim_boundary[periodic] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_trim_boundary[periodic] dask/array/tests/test_overlap.py::test_trim_boundary[nearest] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_trim_boundary[nearest] dask/array/tests/test_overlap.py::test_trim_boundary[none] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_trim_boundary[none] dask/array/tests/test_overlap.py::test_map_overlap_rechunks_array_if_needed [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_rechunks_array_if_needed dask/array/tests/test_overlap.py::test_map_overlap_rechunks_array_along_multiple_dims_if_needed [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-columns] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_rechunks_array_along_multiple_dims_if_needed dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks0-expected0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks0-expected0] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks1-expected1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks1-expected1] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks2-expected2] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks2-expected2] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks3-expected3] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks3-expected3] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks4-expected4] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks4-expected4] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks5-expected5] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks5-expected5] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks6-expected6] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks6-expected6] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks7-expected7] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize[chunks7-expected7] dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize_raises_error [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_ensure_minimum_chunksize_raises_error dask/array/tests/test_overlap.py::test_sliding_window_view[shape0-chunks0-window_shape0-axis0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape0-chunks0-window_shape0-axis0] dask/array/tests/test_overlap.py::test_sliding_window_view[shape1-5-window_shape1-axis1] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-1] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape1-5-window_shape1-axis1] dask/array/tests/test_overlap.py::test_sliding_window_view[shape2-3-window_shape2-axis2] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape2-3-window_shape2-axis2] dask/array/tests/test_overlap.py::test_sliding_window_view[shape3-3-3-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape3-3-3-0] dask/array/tests/test_overlap.py::test_sliding_window_view[shape4-3-3--1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape4-3-3--1] dask/array/tests/test_overlap.py::test_sliding_window_view[shape5-3-3-None] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape5-3-3-None] dask/array/tests/test_overlap.py::test_sliding_window_view[shape6-3-window_shape6-None] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape6-3-window_shape6-None] dask/array/tests/test_overlap.py::test_sliding_window_view[shape7-3-window_shape7-axis7] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape7-3-window_shape7-axis7] dask/array/tests/test_overlap.py::test_sliding_window_view[shape8-3-window_shape8-axis8] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape8-3-window_shape8-axis8] dask/array/tests/test_overlap.py::test_sliding_window_view[shape9-3-window_shape9-axis9] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view[shape9-3-window_shape9-axis9] dask/array/tests/test_overlap.py::test_sliding_window_errors[window_shape0-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[window_shape0-0] dask/array/tests/test_overlap.py::test_sliding_window_errors[window_shape1-3] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[window_shape1-3] dask/array/tests/test_overlap.py::test_sliding_window_errors[-1-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[-1-0] dask/array/tests/test_overlap.py::test_sliding_window_errors[2-axis3] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[2-axis3] dask/array/tests/test_overlap.py::test_sliding_window_errors[2-None] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[2-None] dask/array/tests/test_overlap.py::test_sliding_window_errors[0-None] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_errors[0-None] dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks0-5-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks0-5-0] dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks1-20-0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks1-20-0] dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks2-40-0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-columns] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-1] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks2-40-0] dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks3-window_shape3-axis3] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks3-window_shape3-axis3] dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks4-window_shape4-axis4] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-index] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_chunking[output_chunks4-window_shape4-axis4] dask/array/tests/test_overlap.py::test_sliding_window_view_no_chunking [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-0] [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_sliding_window_view_no_chunking dask/array/tests/test_overlap.py::test_overlap_not_adding_empty_tasks [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_overlap_not_adding_empty_tasks dask/array/tests/test_overlap.py::test_map_overlap_new_axis [gw1] [ 19%] PASSED dask/array/tests/test_overlap.py::test_map_overlap_new_axis dask/array/tests/test_overlap.py::test_overlap_not_blowing_up_graph [gw1] [ 19%] SKIPPED dask/array/tests/test_overlap.py::test_overlap_not_blowing_up_graph dask/array/tests/test_percentiles.py::test_percentile[tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentile[tdigest] dask/array/tests/test_percentiles.py::test_percentile[dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentile[dask] dask/array/tests/test_percentiles.py::test_percentile_with_categoricals [gw1] [ 19%] SKIPPED dask/array/tests/test_percentiles.py::test_percentile_with_categoricals dask/array/tests/test_percentiles.py::test_percentiles_with_empty_arrays[tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_empty_arrays[tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_empty_arrays[dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_empty_arrays[dask] dask/array/tests/test_percentiles.py::test_percentiles_with_empty_q[tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_empty_q[tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_empty_q[dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_empty_q[dask] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5-tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5-tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5-dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5-dask] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_0-tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_0-tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_0-dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_0-dask] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[q2-tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[q2-tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[q2-dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[q2-dask] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_1-tdigest] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_1-tdigest] dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_1-dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_percentiles_with_scaler_percentile[5.0_1-dask] dask/array/tests/test_percentiles.py::test_unknown_chunk_sizes[tdigest] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-columns] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_unknown_chunk_sizes[tdigest] dask/array/tests/test_percentiles.py::test_unknown_chunk_sizes[dask] [gw1] [ 19%] PASSED dask/array/tests/test_percentiles.py::test_unknown_chunk_sizes[dask] dask/array/tests/test_random.py::test_generators[RandomState] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_generators[RandomState] dask/array/tests/test_random.py::test_generators[default_rng] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_generators[default_rng] dask/array/tests/test_random.py::test_default_rng[NoneType] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_default_rng[NoneType] dask/array/tests/test_random.py::test_default_rng[int] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_default_rng[int] dask/array/tests/test_random.py::test_default_rng[type] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_default_rng[type] dask/array/tests/test_random.py::test_default_rng[Generator] [gw1] [ 19%] PASSED dask/array/tests/test_random.py::test_default_rng[Generator] dask/array/tests/test_random.py::test_concurrency[RandomState] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-1] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-index] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-0] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-columns] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-1] [gw0] [ 19%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-index] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_concurrency[RandomState] dask/array/tests/test_random.py::test_concurrency[default_rng] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-columns] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_concurrency[default_rng] dask/array/tests/test_random.py::test_doc_randomstate[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_doc_randomstate[RandomState] dask/array/tests/test_random.py::test_doc_randomstate[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_doc_randomstate[default_rng] dask/array/tests/test_random.py::test_doc_generator [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_doc_generator dask/array/tests/test_random.py::test_serializability[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_serializability[RandomState] dask/array/tests/test_random.py::test_serializability[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_serializability[default_rng] dask/array/tests/test_random.py::test_determinisim_through_dask_values[RandomState] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-1] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_determinisim_through_dask_values[RandomState] dask/array/tests/test_random.py::test_determinisim_through_dask_values[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_determinisim_through_dask_values[default_rng] dask/array/tests/test_random.py::test_generator_consistent_names[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_generator_consistent_names[RandomState] dask/array/tests/test_random.py::test_generator_consistent_names[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_generator_consistent_names[default_rng] dask/array/tests/test_random.py::test_random[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random[RandomState] dask/array/tests/test_random.py::test_random[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random[default_rng] dask/array/tests/test_random.py::test_parametrized_random_function[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_parametrized_random_function[RandomState] dask/array/tests/test_random.py::test_parametrized_random_function[default_rng] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-1] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_parametrized_random_function[default_rng] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-index] dask/array/tests/test_random.py::test_kwargs[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_kwargs[RandomState] dask/array/tests/test_random.py::test_kwargs[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_kwargs[default_rng] dask/array/tests/test_random.py::test_unique_names[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_unique_names[RandomState] dask/array/tests/test_random.py::test_unique_names[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_unique_names[default_rng] dask/array/tests/test_random.py::test_docs[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_docs[RandomState] dask/array/tests/test_random.py::test_docs[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_docs[default_rng] dask/array/tests/test_random.py::test_can_make_really_big_random_array[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_can_make_really_big_random_array[RandomState] dask/array/tests/test_random.py::test_can_make_really_big_random_array[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_can_make_really_big_random_array[default_rng] dask/array/tests/test_random.py::test_random_seed [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_seed dask/array/tests/test_random.py::test_consistent_across_sizes[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_consistent_across_sizes[RandomState] dask/array/tests/test_random.py::test_consistent_across_sizes[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_consistent_across_sizes[default_rng] dask/array/tests/test_random.py::test_random_all[NoneType] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-0] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all[NoneType] dask/array/tests/test_random.py::test_random_all[int] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all[int] dask/array/tests/test_random.py::test_random_all[tuple] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-columns] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all[tuple] dask/array/tests/test_random.py::test_RandomState_only_funcs [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_RandomState_only_funcs dask/array/tests/test_random.py::test_Generator_only_funcs[NoneType] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_Generator_only_funcs[NoneType] dask/array/tests/test_random.py::test_Generator_only_funcs[int] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_Generator_only_funcs[int] dask/array/tests/test_random.py::test_Generator_only_funcs[tuple] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_Generator_only_funcs[tuple] dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-NoneType] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-1] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-NoneType] dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-int] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-index] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-int] dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-tuple] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-columns] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[RandomState-tuple] dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-NoneType] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-1] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-NoneType] dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-int] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-index] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-int] dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-tuple] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-0] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_random_all_with_class_methods[default_rng-tuple] dask/array/tests/test_random.py::test_array_broadcasting[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_array_broadcasting[RandomState] dask/array/tests/test_random.py::test_array_broadcasting[default_rng] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-columns] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_array_broadcasting[default_rng] dask/array/tests/test_random.py::test_multinomial[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_multinomial[RandomState] dask/array/tests/test_random.py::test_multinomial[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_multinomial[default_rng] dask/array/tests/test_random.py::test_choice[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_choice[RandomState] dask/array/tests/test_random.py::test_choice[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_choice[default_rng] dask/array/tests/test_random.py::test_create_with_auto_dimensions [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_create_with_auto_dimensions dask/array/tests/test_random.py::test_names [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_names dask/array/tests/test_random.py::test_permutation[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_permutation[RandomState] dask/array/tests/test_random.py::test_permutation[default_rng] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-1] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_permutation[default_rng] dask/array/tests/test_random.py::test_auto_chunks[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_auto_chunks[RandomState] dask/array/tests/test_random.py::test_auto_chunks[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_auto_chunks[default_rng] dask/array/tests/test_random.py::test_randint_dtype [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_randint_dtype dask/array/tests/test_random.py::test_raises_bad_kwarg[RandomState] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_raises_bad_kwarg[RandomState] dask/array/tests/test_random.py::test_raises_bad_kwarg[default_rng] [gw1] [ 20%] PASSED dask/array/tests/test_random.py::test_raises_bad_kwarg[default_rng] dask/array/tests/test_random.py::test_randomstate_kwargs [gw1] [ 20%] SKIPPED dask/array/tests/test_random.py::test_randomstate_kwargs dask/array/tests/test_rechunk.py::test_rechunk_internals_1 [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_internals_1 dask/array/tests/test_rechunk.py::test_intersect_1 [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_intersect_1 dask/array/tests/test_rechunk.py::test_intersect_2 [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_intersect_2 dask/array/tests/test_rechunk.py::test_rechunk_1d [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_1d dask/array/tests/test_rechunk.py::test_rechunk_2d [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_2d dask/array/tests/test_rechunk.py::test_rechunk_4d [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_4d dask/array/tests/test_rechunk.py::test_rechunk_expand [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_expand dask/array/tests/test_rechunk.py::test_rechunk_expand2 [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_expand2 dask/array/tests/test_rechunk.py::test_rechunk_method [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-index] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_method dask/array/tests/test_rechunk.py::test_rechunk_blockshape [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_blockshape dask/array/tests/test_rechunk.py::test_dtype [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_dtype dask/array/tests/test_rechunk.py::test_rechunk_with_dict [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_dict dask/array/tests/test_rechunk.py::test_rechunk_with_empty_input [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_empty_input dask/array/tests/test_rechunk.py::test_rechunk_with_null_dimensions [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_null_dimensions dask/array/tests/test_rechunk.py::test_rechunk_with_integer [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_integer dask/array/tests/test_rechunk.py::test_rechunk_0d [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_0d dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr0] dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr1] dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr2] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_empty_array[arr2] dask/array/tests/test_rechunk.py::test_rechunk_empty [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_empty dask/array/tests/test_rechunk.py::test_rechunk_zero_dim_array [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_zero_dim_array dask/array/tests/test_rechunk.py::test_rechunk_zero_dim_array_II [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_zero_dim_array_II dask/array/tests/test_rechunk.py::test_rechunk_same [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_same dask/array/tests/test_rechunk.py::test_rechunk_same_fully_unknown [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_same_fully_unknown dask/array/tests/test_rechunk.py::test_rechunk_same_fully_unknown_floats [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_same_fully_unknown_floats dask/array/tests/test_rechunk.py::test_rechunk_same_partially_unknown [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_same_partially_unknown dask/array/tests/test_rechunk.py::test_rechunk_with_zero_placeholders [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_zero_placeholders dask/array/tests/test_rechunk.py::test_rechunk_minus_one [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_minus_one dask/array/tests/test_rechunk.py::test_rechunk_intermediates [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_intermediates dask/array/tests/test_rechunk.py::test_divide_to_width [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_divide_to_width dask/array/tests/test_rechunk.py::test_merge_to_number [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_merge_to_number dask/array/tests/test_rechunk.py::test_plan_rechunk [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_plan_rechunk dask/array/tests/test_rechunk.py::test_plan_rechunk_5d [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_plan_rechunk_5d dask/array/tests/test_rechunk.py::test_plan_rechunk_heterogeneous [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_plan_rechunk_heterogeneous dask/array/tests/test_rechunk.py::test_plan_rechunk_asymmetric [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_plan_rechunk_asymmetric dask/array/tests/test_rechunk.py::test_rechunk_warning [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_warning dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape0-chunks0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape0-chunks0] dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape1-chunks1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape1-chunks1] dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape2-chunks2] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_dont_concatenate_single_chunks[shape2-chunks2] dask/array/tests/test_rechunk.py::test_intersect_nan [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_intersect_nan dask/array/tests/test_rechunk.py::test_intersect_nan_single [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_intersect_nan_single dask/array/tests/test_rechunk.py::test_intersect_nan_long [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_intersect_nan_long dask/array/tests/test_rechunk.py::test_rechunk_unknown_from_pandas [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_unknown_from_pandas dask/array/tests/test_rechunk.py::test_rechunk_unknown_from_array [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_unknown_from_array dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x0-chunks0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x0-chunks0] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x1-chunks1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x1-chunks1] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x2-chunks2] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x2-chunks2] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x3-chunks3] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x3-chunks3] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x4-chunks4] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-columns] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x4-chunks4] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x5-chunks5] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x5-chunks5] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x6-chunks6] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x6-chunks6] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x7-chunks7] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x7-chunks7] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x8-chunks8] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x8-chunks8] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x9-chunks9] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x9-chunks9] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x10-chunks10] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x10-chunks10] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x11-chunks11] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension[x11-chunks11] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x0-chunks0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-index] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x0-chunks0] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x1-chunks1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x1-chunks1] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x2-chunks2] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x2-chunks2] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x3-chunks3] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-0] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x3-chunks3] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x4-chunks4] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-index] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x4-chunks4] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x5-chunks5] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-1] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-index] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-0] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-columns] [gw0] [ 20%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-1] [gw1] [ 20%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x5-chunks5] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x6-chunks6] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x6-chunks6] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x7-chunks7] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x7-chunks7] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x8-chunks8] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x8-chunks8] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x9-chunks9] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x9-chunks9] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x10-chunks10] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x10-chunks10] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x11-chunks11] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension[x11-chunks11] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks0] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks0] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks1] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks1] dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks2] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-index] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_fully_unknown_dimension_explicit[new_chunks2] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks0] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks0] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks1] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks1] dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks2] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_partially_unknown_dimension_explicit[new_chunks2] dask/array/tests/test_rechunk.py::test_rechunk_unknown_raises [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_unknown_raises dask/array/tests/test_rechunk.py::test_old_to_new_single [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_old_to_new_single dask/array/tests/test_rechunk.py::test_old_to_new [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_old_to_new dask/array/tests/test_rechunk.py::test_old_to_new_large [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_old_to_new_large dask/array/tests/test_rechunk.py::test_old_to_new_known [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_old_to_new_known dask/array/tests/test_rechunk.py::test_rechunk_zero_dim [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-0] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_zero_dim dask/array/tests/test_rechunk.py::test_rechunk_empty_chunks [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_empty_chunks dask/array/tests/test_rechunk.py::test_rechunk_avoid_needless_chunking [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_avoid_needless_chunking dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-1-10-expected0] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-1-10-expected0] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-50-10-expected1] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-50-10-expected1] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-100-10-expected2] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[100-100-10-expected2] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-7-10-expected3] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-7-10-expected3] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks4-5-expected4] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks4-5-expected4] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[21-chunks5-10-expected5] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[21-chunks5-10-expected5] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[30-chunks6-7-expected6] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[30-chunks6-7-expected6] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks7-5-expected7] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks7-5-expected7] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks8-4-expected8] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks8-4-expected8] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[21-chunks9-4-expected9] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[21-chunks9-4-expected9] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks10-5-expected10] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[20-chunks10-5-expected10] dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[38-chunks11-5-expected11] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_1d[38-chunks11-5-expected11] dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks0-160-expected0] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks0-160-expected0] dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks1-5-expected1] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks1-5-expected1] dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks2-5-expected2] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_normalize_chunks_auto_2d[previous_chunks2-5-expected2] dask/array/tests/test_rechunk.py::test_rechunk_auto_2d [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_2d dask/array/tests/test_rechunk.py::test_rechunk_auto_3d [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_3d dask/array/tests/test_rechunk.py::test_rechunk_auto_image_stack[100] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-columns] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_image_stack[100] dask/array/tests/test_rechunk.py::test_rechunk_auto_image_stack[1000] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-index] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_auto_image_stack[1000] dask/array/tests/test_rechunk.py::test_rechunk_down [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_down dask/array/tests/test_rechunk.py::test_rechunk_zero [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_zero dask/array/tests/test_rechunk.py::test_rechunk_bad_keys [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_bad_keys dask/array/tests/test_rechunk.py::test_balance_basics [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_basics dask/array/tests/test_rechunk.py::test_balance_chunks_unchanged [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_chunks_unchanged dask/array/tests/test_rechunk.py::test_balance_small [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_small dask/array/tests/test_rechunk.py::test_balance_n_chunks_size [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_n_chunks_size dask/array/tests/test_rechunk.py::test_balance_raises [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_raises dask/array/tests/test_rechunk.py::test_balance_basics_2d [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_basics_2d dask/array/tests/test_rechunk.py::test_balance_2d_negative_dimension [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_2d_negative_dimension dask/array/tests/test_rechunk.py::test_balance_different_inputs [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_different_inputs dask/array/tests/test_rechunk.py::test_balance_split_into_n_chunks [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-columns] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_balance_split_into_n_chunks dask/array/tests/test_rechunk.py::test_rechunk_with_zero [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_with_zero dask/array/tests/test_rechunk.py::test_intersect_chunks_with_nonzero [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_intersect_chunks_with_nonzero dask/array/tests/test_rechunk.py::test_intersect_chunks_with_zero [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_intersect_chunks_with_zero dask/array/tests/test_rechunk.py::test_old_to_new_with_zero [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_old_to_new_with_zero dask/array/tests/test_rechunk.py::test_rechunk_non_perfect_slicing_of_dimensions [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-1] [gw1] [ 21%] PASSED dask/array/tests/test_rechunk.py::test_rechunk_non_perfect_slicing_of_dimensions dask/array/tests/test_reductions.py::test_numel[True-True-f4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[True-True-f4] dask/array/tests/test_reductions.py::test_numel[True-True-i4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[True-True-i4] dask/array/tests/test_reductions.py::test_numel[True-False-f4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[True-False-f4] dask/array/tests/test_reductions.py::test_numel[True-False-i4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[True-False-i4] dask/array/tests/test_reductions.py::test_numel[False-True-f4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[False-True-f4] dask/array/tests/test_reductions.py::test_numel[False-True-i4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[False-True-i4] dask/array/tests/test_reductions.py::test_numel[False-False-f4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[False-False-f4] dask/array/tests/test_reductions.py::test_numel[False-False-i4] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_numel[False-False-i4] dask/array/tests/test_reductions.py::test_reductions_0D [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_0D dask/array/tests/test_reductions.py::test_reductions_1D[f4] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_1D[f4] dask/array/tests/test_reductions.py::test_reductions_1D[i4] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-1] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_1D[i4] dask/array/tests/test_reductions.py::test_reductions_1D[c8] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_1D[c8] dask/array/tests/test_reductions.py::test_reduction_errors [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reduction_errors dask/array/tests/test_reductions.py::test_reductions_2D[f4] [gw1] [ 21%] SKIPPED dask/array/tests/test_reductions.py::test_reductions_2D[f4] dask/array/tests/test_reductions.py::test_reductions_2D[i4] [gw1] [ 21%] SKIPPED dask/array/tests/test_reductions.py::test_reductions_2D[i4] dask/array/tests/test_reductions.py::test_reductions_2D[c8] [gw1] [ 21%] SKIPPED dask/array/tests/test_reductions.py::test_reductions_2D[c8] dask/array/tests/test_reductions.py::test_arg_reductions[argmin-argmin] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions[argmin-argmin] dask/array/tests/test_reductions.py::test_arg_reductions[argmax-argmax] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-0] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions[argmax-argmax] dask/array/tests/test_reductions.py::test_arg_reductions[nanargmin-nanargmin] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-columns] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions[nanargmin-nanargmin] dask/array/tests/test_reductions.py::test_arg_reductions[nanargmax-nanargmax] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-1] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions[nanargmax-nanargmax] dask/array/tests/test_reductions.py::test_nan_reduction_warnings[nanmin-nanmin] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_reduction_warnings[nanmin-nanmin] dask/array/tests/test_reductions.py::test_nan_reduction_warnings[nanmax-nanmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_reduction_warnings[nanmax-nanmax] dask/array/tests/test_reductions.py::test_nanarg_reductions[nanargmin-nanargmin] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nanarg_reductions[nanargmin-nanargmin] dask/array/tests/test_reductions.py::test_nanarg_reductions[nanargmax-nanargmax] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-1] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nanarg_reductions[nanargmax-nanargmax] dask/array/tests/test_reductions.py::test_min_max_empty_chunks[min-min] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_min_max_empty_chunks[min-min] dask/array/tests/test_reductions.py::test_min_max_empty_chunks[max-max] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_min_max_empty_chunks[max-max] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize[argmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize[argmax] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize[nanargmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize[nanargmax] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize_2d[argmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize_2d[argmax] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize_2d[nanargmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_chunksize_2d[nanargmax] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_single_chunksize[argmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_single_chunksize[argmax] dask/array/tests/test_reductions.py::test_arg_reductions_unknown_single_chunksize[nanargmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_arg_reductions_unknown_single_chunksize[nanargmax] dask/array/tests/test_reductions.py::test_reductions_2D_nans [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-columns] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-index] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-0] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-columns] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_2D_nans dask/array/tests/test_reductions.py::test_moment [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_moment dask/array/tests/test_reductions.py::test_reductions_with_negative_axes [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_with_negative_axes dask/array/tests/test_reductions.py::test_nan [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan dask/array/tests/test_reductions.py::test_nan_object[nansum] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-1] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[nansum] dask/array/tests/test_reductions.py::test_nan_object[sum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[sum] dask/array/tests/test_reductions.py::test_nan_object[nanmin] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[nanmin] dask/array/tests/test_reductions.py::test_nan_object[min] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[min] dask/array/tests/test_reductions.py::test_nan_object[nanmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[nanmax] dask/array/tests/test_reductions.py::test_nan_object[max] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_nan_object[max] dask/array/tests/test_reductions.py::test_0d_array [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_0d_array dask/array/tests/test_reductions.py::test_reduction_on_scalar [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reduction_on_scalar dask/array/tests/test_reductions.py::test_reductions_with_empty_array [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reductions_with_empty_array dask/array/tests/test_reductions.py::test_tree_reduce_depth [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-0] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_tree_reduce_depth dask/array/tests/test_reductions.py::test_tree_reduce_set_options [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_tree_reduce_set_options dask/array/tests/test_reductions.py::test_reduction_names [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_reduction_names dask/array/tests/test_reductions.py::test_general_reduction_names [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_general_reduction_names dask/array/tests/test_reductions.py::test_array_reduction_out[sum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_reduction_out[sum] dask/array/tests/test_reductions.py::test_array_reduction_out[argmax] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_reduction_out[argmax] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-cumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-cumprod] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-columns] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-nancumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-nancumprod] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-cumsum] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-1] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-index] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-cumprod] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-nancumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-nancumprod] [gw0] [ 21%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-0] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-None-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-cumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-cumprod] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-nancumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-nancumprod] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-cumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-cumprod] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-nancumsum] [gw1] [ 21%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-0-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-cumprod] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential-1-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-cumsum] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-1] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[sequential--1-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-cumprod] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-index] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-cumsum] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-0] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-nancumprod] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-None-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-0-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch-1-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-cumprod] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-1] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-False-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-cumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-nancumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-nancumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-nancumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_axis[blelloch--1-True-nancumprod] dask/array/tests/test_reductions.py::test_array_cumreduction_out[cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_out[cumsum] dask/array/tests/test_reductions.py::test_array_cumreduction_out[cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_array_cumreduction_out[cumprod] dask/array/tests/test_reductions.py::test_topk_argtopk1[None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk1[None-argsort-argtopk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-index] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk1[2-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-0] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk1[2-argsort-argtopk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk1[4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk1[4-argsort-argtopk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-1] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk1[8-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-index] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[8-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk1[8-argsort-argtopk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-0] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk1[8-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-2-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-3-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[1-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[1-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-2-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-3-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-1] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[2-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[2-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-2-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-3-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[3-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[3-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-2-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-index] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-3-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[4-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[4-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-2-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-3-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[5-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[5-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-None-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-None-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-None-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-None-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-2-sort-topk] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-0] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-2-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-2-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-2-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-3-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-3-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-3-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-3-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-4-sort-topk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-4-sort-topk] dask/array/tests/test_reductions.py::test_topk_argtopk2[10-4-argsort-argtopk] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk2[10-4-argsort-argtopk] dask/array/tests/test_reductions.py::test_topk_argtopk3 [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_topk_argtopk3 dask/array/tests/test_reductions.py::test_regres_3940[sequential-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-cumsum] dask/array/tests/test_reductions.py::test_regres_3940[sequential-cumprod] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-cumprod] dask/array/tests/test_reductions.py::test_regres_3940[sequential-argmin] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-argmin] dask/array/tests/test_reductions.py::test_regres_3940[sequential-argmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-argmax] dask/array/tests/test_reductions.py::test_regres_3940[sequential-min] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-min] dask/array/tests/test_reductions.py::test_regres_3940[sequential-max] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-max] dask/array/tests/test_reductions.py::test_regres_3940[sequential-nansum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-nansum] dask/array/tests/test_reductions.py::test_regres_3940[sequential-nanmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[sequential-nanmax] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-cumsum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-cumsum] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-cumprod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-cumprod] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-argmin] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-argmin] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-argmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-argmax] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-min] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-min] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-max] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-max] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-nansum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-nansum] dask/array/tests/test_reductions.py::test_regres_3940[blelloch-nanmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_regres_3940[blelloch-nanmax] dask/array/tests/test_reductions.py::test_trace [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_trace dask/array/tests/test_reductions.py::test_median[True-0-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-0-median] dask/array/tests/test_reductions.py::test_median[True-0-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-0-nanmedian] dask/array/tests/test_reductions.py::test_median[True-axis1-median] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-columns] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-axis1-median] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-1] dask/array/tests/test_reductions.py::test_median[True-axis1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-axis1-nanmedian] dask/array/tests/test_reductions.py::test_median[True-1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-1-median] dask/array/tests/test_reductions.py::test_median[True-1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True-1-nanmedian] dask/array/tests/test_reductions.py::test_median[True--1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True--1-median] dask/array/tests/test_reductions.py::test_median[True--1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[True--1-nanmedian] dask/array/tests/test_reductions.py::test_median[False-0-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-0-median] dask/array/tests/test_reductions.py::test_median[False-0-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-0-nanmedian] dask/array/tests/test_reductions.py::test_median[False-axis1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-axis1-median] dask/array/tests/test_reductions.py::test_median[False-axis1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-axis1-nanmedian] dask/array/tests/test_reductions.py::test_median[False-1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-1-median] dask/array/tests/test_reductions.py::test_median[False-1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False-1-nanmedian] dask/array/tests/test_reductions.py::test_median[False--1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False--1-median] dask/array/tests/test_reductions.py::test_median[False--1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median[False--1-nanmedian] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[0-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[0-median] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[0-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[0-nanmedian] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[axis1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[axis1-median] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[axis1-nanmedian] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[axis1-nanmedian] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[1-median] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[1-median] dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[1-nanmedian] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-index] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_median_does_not_rechunk_if_whole_axis_in_one_chunk[1-nanmedian] dask/array/tests/test_reductions.py::test_object_reduction[sum] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_object_reduction[sum] dask/array/tests/test_reductions.py::test_object_reduction[mean] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_object_reduction[mean] dask/array/tests/test_reductions.py::test_object_reduction[prod] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_object_reduction[prod] dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax[nanmin] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax[nanmin] dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax[nanmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax[nanmax] dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax_raise[nanmin] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax_raise[nanmin] dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax_raise[nanmax] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_empty_chunk_nanmin_nanmax_raise[nanmax] dask/array/tests/test_reductions.py::test_mean_func_does_not_warn [gw1] [ 22%] SKIPPED dask/array/tests/test_reductions.py::test_mean_func_does_not_warn dask/array/tests/test_reductions.py::test_nan_func_does_not_warn[nanvar] [gw1] [ 22%] PASSED dask/array/tests/test_reductions.py::test_nan_func_does_not_warn[nanvar] dask/array/tests/test_reductions.py::test_nan_func_does_not_warn[nanstd] [gw0] [ 22%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_nan_func_does_not_warn[nanstd] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes0-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks5] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes1-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks3] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes2-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-index] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks4] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes3-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-index] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-index] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes4-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks4] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-columns] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes5-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks3] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-1] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks2] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks3] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks4] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-1] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-index] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks5] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-0] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes6-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks0] [gw0] [ 23%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-columns] [gw1] [ 23%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes7-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes8-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks5] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes9-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes10-4-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks5] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-2-chunks5] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks0] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks1] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks2] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks3] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks4] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks4] dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks5] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_chunk_structure_independence[axes11-4-chunks5] dask/array/tests/test_reductions.py::test_weighted_reduction [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_weighted_reduction dask/array/tests/test_reductions.py::test_cumreduction_no_rechunk_on_1d_array [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_cumreduction_no_rechunk_on_1d_array dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-3] dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-0] dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-axis2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-0.75-axis2] dask/array/tests/test_reductions.py::test_nanquantile[True-q1-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q1-3] dask/array/tests/test_reductions.py::test_nanquantile[True-q1-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q1-0] dask/array/tests/test_reductions.py::test_nanquantile[True-q1-axis2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q1-axis2] dask/array/tests/test_reductions.py::test_nanquantile[True-q2-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q2-3] dask/array/tests/test_reductions.py::test_nanquantile[True-q2-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q2-0] dask/array/tests/test_reductions.py::test_nanquantile[True-q2-axis2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[True-q2-axis2] dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-3] dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-0] dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-axis2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-0.75-axis2] dask/array/tests/test_reductions.py::test_nanquantile[False-q1-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q1-3] dask/array/tests/test_reductions.py::test_nanquantile[False-q1-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q1-0] dask/array/tests/test_reductions.py::test_nanquantile[False-q1-axis2] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q1-axis2] dask/array/tests/test_reductions.py::test_nanquantile[False-q2-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-index] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q2-3] dask/array/tests/test_reductions.py::test_nanquantile[False-q2-0] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-columns] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-index] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q2-0] dask/array/tests/test_reductions.py::test_nanquantile[False-q2-axis2] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-0] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_nanquantile[False-q2-axis2] dask/array/tests/test_reductions.py::test_quantile[True-0.75-3] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_quantile[True-0.75-3] dask/array/tests/test_reductions.py::test_quantile[True-0.75-axis1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-columns] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_quantile[True-0.75-axis1] dask/array/tests/test_reductions.py::test_quantile[True-q1-3] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-1] [gw1] [ 24%] PASSED dask/array/tests/test_reductions.py::test_quantile[True-q1-3] dask/array/tests/test_reductions.py::test_quantile[True-q1-axis1] [gw0] [ 24%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-index] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_quantile[True-q1-axis1] dask/array/tests/test_reductions.py::test_quantile[False-0.75-3] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-0] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-columns] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_quantile[False-0.75-3] dask/array/tests/test_reductions.py::test_quantile[False-0.75-axis1] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_quantile[False-0.75-axis1] dask/array/tests/test_reductions.py::test_quantile[False-q1-3] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-1] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-index] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_quantile[False-q1-3] dask/array/tests/test_reductions.py::test_quantile[False-q1-axis1] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_quantile[False-q1-axis1] dask/array/tests/test_reductions.py::test_nanquantile_all_nan [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_nanquantile_all_nan dask/array/tests/test_reductions.py::test_nanquantile_method [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-0] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-columns] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-1] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-index] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-0] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-columns] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-1] [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_nanquantile_method [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-index] dask/array/tests/test_reductions.py::test_nanquantile_one_dim [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_nanquantile_one_dim dask/array/tests/test_reductions.py::test_nanquantile_two_dims [gw1] [ 25%] PASSED dask/array/tests/test_reductions.py::test_nanquantile_two_dims dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape0-outshape0-prechunks0-inchunks0-outchunks0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape0-outshape0-prechunks0-inchunks0-outchunks0] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape1-outshape1-prechunks1-inchunks1-outchunks1] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape1-outshape1-prechunks1-inchunks1-outchunks1] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape2-outshape2-prechunks2-inchunks2-outchunks2] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape2-outshape2-prechunks2-inchunks2-outchunks2] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape3-outshape3-prechunks3-inchunks3-outchunks3] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape3-outshape3-prechunks3-inchunks3-outchunks3] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape4-outshape4-prechunks4-inchunks4-outchunks4] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape4-outshape4-prechunks4-inchunks4-outchunks4] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape5-outshape5-prechunks5-inchunks5-outchunks5] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape5-outshape5-prechunks5-inchunks5-outchunks5] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape6-outshape6-prechunks6-inchunks6-outchunks6] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape6-outshape6-prechunks6-inchunks6-outchunks6] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape7-outshape7-prechunks7-inchunks7-outchunks7] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape7-outshape7-prechunks7-inchunks7-outchunks7] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape8-outshape8-prechunks8-inchunks8-outchunks8] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape8-outshape8-prechunks8-inchunks8-outchunks8] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape9-outshape9-prechunks9-inchunks9-outchunks9] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape9-outshape9-prechunks9-inchunks9-outchunks9] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape10-outshape10-prechunks10-inchunks10-outchunks10] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape10-outshape10-prechunks10-inchunks10-outchunks10] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape11-outshape11-prechunks11-inchunks11-outchunks11] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape11-outshape11-prechunks11-inchunks11-outchunks11] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape12-outshape12-prechunks12-inchunks12-outchunks12] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape12-outshape12-prechunks12-inchunks12-outchunks12] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape13-outshape13-prechunks13-inchunks13-outchunks13] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape13-outshape13-prechunks13-inchunks13-outchunks13] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape14-outshape14-prechunks14-inchunks14-outchunks14] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape14-outshape14-prechunks14-inchunks14-outchunks14] dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape15-outshape15-prechunks15-inchunks15-outchunks15] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_rechunk[inshape15-outshape15-prechunks15-inchunks15-outchunks15] dask/array/tests/test_reshape.py::test_expand_tuple [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_expand_tuple dask/array/tests/test_reshape.py::test_contract_tuple [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_contract_tuple dask/array/tests/test_reshape.py::test_reshape_unknown_sizes [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_unknown_sizes dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape0-inchunks0-outshape0-outchunks0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape0-inchunks0-outshape0-outchunks0] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape1-inchunks1-outshape1-outchunks1] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape1-inchunks1-outshape1-outchunks1] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape2-inchunks2-outshape2-outchunks2] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape2-inchunks2-outshape2-outchunks2] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape3-inchunks3-outshape3-outchunks3] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape3-inchunks3-outshape3-outchunks3] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape4-inchunks4-outshape4-outchunks4] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape4-inchunks4-outshape4-outchunks4] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape5-inchunks5-outshape5-outchunks5] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape5-inchunks5-outshape5-outchunks5] dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape6-inchunks6-outshape6-outchunks6] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_chunked_no_merge[inshape6-inchunks6-outshape6-outchunks6] dask/array/tests/test_reshape.py::test_reshape_all_not_chunked_merge[inshape0-inchunks0-expected_inchunks0-outshape0-outchunks0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_all_not_chunked_merge[inshape0-inchunks0-expected_inchunks0-outshape0-outchunks0] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape0-inchunks0-outshape0-outchunks0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape0-inchunks0-outshape0-outchunks0] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape1-inchunks1-outshape1-outchunks1] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape1-inchunks1-outshape1-outchunks1] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape2-inchunks2-outshape2-outchunks2] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape2-inchunks2-outshape2-outchunks2] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape3-inchunks3-outshape3-outchunks3] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape3-inchunks3-outshape3-outchunks3] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape4-inchunks4-outshape4-outchunks4] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape4-inchunks4-outshape4-outchunks4] dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape5-inchunks5-outshape5-outchunks5] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_merge_chunks[inshape5-inchunks5-outshape5-outchunks5] dask/array/tests/test_reshape.py::test_smooth_chunks [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_smooth_chunks dask/array/tests/test_reshape.py::test_smooth_chunks_not_divisible [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_smooth_chunks_not_divisible dask/array/tests/test_reshape.py::test_smooth_chunks_first_dimension [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_smooth_chunks_first_dimension dask/array/tests/test_reshape.py::test_smooth_chunks_large_dimension [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-index] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_smooth_chunks_large_dimension dask/array/tests/test_reshape.py::test_reshape_not_squashing_chunks dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_not_squashing_chunks dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper0-chunks0] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper0-chunks0] dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper1-chunks1] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper1-chunks1] dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper2-chunks2] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper2-chunks2] dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper3-chunks3] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_to_higher_dimension[reshaper3-chunks3] dask/array/tests/test_reshape.py::test_reshape_lower_dimension [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_lower_dimension dask/array/tests/test_reshape.py::test_reshape_split_out_chunks [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_split_out_chunks dask/array/tests/test_reshape.py::test_reshape_blockwise [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_blockwise dask/array/tests/test_reshape.py::test_reshape_blockwise_raises_for_expansion [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_blockwise_raises_for_expansion dask/array/tests/test_reshape.py::test_reshape_blockwise_dimension_reduction_and_chunks [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_blockwise_dimension_reduction_and_chunks dask/array/tests/test_reshape.py::test_reshape_blockwise_identity [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_reshape_blockwise_identity dask/array/tests/test_reshape.py::test_argwhere_reshaping_not_concating_chunks [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-columns] [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_argwhere_reshaping_not_concating_chunks dask/array/tests/test_reshape.py::test_blockwise_reshape_sanity_checks [gw1] [ 25%] PASSED dask/array/tests/test_reshape.py::test_blockwise_reshape_sanity_checks dask/array/tests/test_routines.py::test_array [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_array dask/array/tests/test_routines.py::test_array_return_type [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_array_return_type dask/array/tests/test_routines.py::test_derived_docstrings [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_derived_docstrings dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_1d] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-columns] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_1d] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-1] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_2d] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-index] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_3d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_1d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_2d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_3d] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_3d] dask/array/tests/test_routines.py::test_transpose [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_transpose dask/array/tests/test_routines.py::test_transpose_negative_axes [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_transpose_negative_axes dask/array/tests/test_routines.py::test_transpose_skip_when_possible [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_transpose_skip_when_possible dask/array/tests/test_routines.py::test_swapaxes [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-0] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_swapaxes dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-moveaxis] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-moveaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-rollaxis] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-rollaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-moveaxis] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-moveaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-rollaxis] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-columns] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-rollaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-moveaxis] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-1] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-index] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-0] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-columns] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-1] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-moveaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-rollaxis] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-index] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-0] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-columns] [gw0] [ 25%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-1] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-rollaxis] dask/array/tests/test_routines.py::test_moveaxis_rollaxis_keyword [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis_keyword dask/array/tests/test_routines.py::test_moveaxis_rollaxis_numpy_api [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_moveaxis_rollaxis_numpy_api dask/array/tests/test_routines.py::test_flip[shape0-flipud-kwargs0] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flipud-kwargs0] dask/array/tests/test_routines.py::test_flip[shape0-fliplr-kwargs1] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-fliplr-kwargs1] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs2] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs2] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs3] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs4] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs5] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs5] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs6] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs6] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs7] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs7] dask/array/tests/test_routines.py::test_flip[shape1-flipud-kwargs0] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flipud-kwargs0] dask/array/tests/test_routines.py::test_flip[shape1-fliplr-kwargs1] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-fliplr-kwargs1] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs2] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs2] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs3] [gw1] [ 25%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs4] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs5] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs5] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs6] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs6] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs7] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs7] dask/array/tests/test_routines.py::test_flip[shape2-flipud-kwargs0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flipud-kwargs0] dask/array/tests/test_routines.py::test_flip[shape2-fliplr-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-fliplr-kwargs1] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs2] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs4] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs5] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs5] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs6] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs6] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs7] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs7] dask/array/tests/test_routines.py::test_flip[shape3-flipud-kwargs0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flipud-kwargs0] dask/array/tests/test_routines.py::test_flip[shape3-fliplr-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-fliplr-kwargs1] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs2] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs4] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs5] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs5] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs6] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs6] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs7] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs7] dask/array/tests/test_routines.py::test_flip[shape4-flipud-kwargs0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flipud-kwargs0] dask/array/tests/test_routines.py::test_flip[shape4-fliplr-kwargs1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-fliplr-kwargs1] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs2] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs2] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs3] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs4] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs5] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs5] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs6] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs6] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs7] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs7] dask/array/tests/test_routines.py::test_rot90[shape0-kwargs0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape0-kwargs0] dask/array/tests/test_routines.py::test_rot90[shape0-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape0-kwargs1] dask/array/tests/test_routines.py::test_rot90[shape0-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape0-kwargs2] dask/array/tests/test_routines.py::test_rot90[shape0-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape0-kwargs3] dask/array/tests/test_routines.py::test_rot90[shape1-kwargs0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape1-kwargs0] dask/array/tests/test_routines.py::test_rot90[shape1-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape1-kwargs1] dask/array/tests/test_routines.py::test_rot90[shape1-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape1-kwargs2] dask/array/tests/test_routines.py::test_rot90[shape1-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape1-kwargs3] dask/array/tests/test_routines.py::test_rot90[shape2-kwargs0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape2-kwargs0] dask/array/tests/test_routines.py::test_rot90[shape2-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape2-kwargs1] dask/array/tests/test_routines.py::test_rot90[shape2-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape2-kwargs2] dask/array/tests/test_routines.py::test_rot90[shape2-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape2-kwargs3] dask/array/tests/test_routines.py::test_rot90[shape3-kwargs0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape3-kwargs0] dask/array/tests/test_routines.py::test_rot90[shape3-kwargs1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape3-kwargs1] dask/array/tests/test_routines.py::test_rot90[shape3-kwargs2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape3-kwargs2] dask/array/tests/test_routines.py::test_rot90[shape3-kwargs3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_rot90[shape3-kwargs3] dask/array/tests/test_routines.py::test_matmul[x_shape0-y_shape0-x_chunks0-y_chunks0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape0-y_shape0-x_chunks0-y_chunks0] dask/array/tests/test_routines.py::test_matmul[x_shape1-y_shape1-x_chunks1-y_chunks1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape1-y_shape1-x_chunks1-y_chunks1] dask/array/tests/test_routines.py::test_matmul[x_shape2-y_shape2-x_chunks2-y_chunks2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape2-y_shape2-x_chunks2-y_chunks2] dask/array/tests/test_routines.py::test_matmul[x_shape3-y_shape3-x_chunks3-y_chunks3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape3-y_shape3-x_chunks3-y_chunks3] dask/array/tests/test_routines.py::test_matmul[x_shape4-y_shape4-x_chunks4-y_chunks4] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape4-y_shape4-x_chunks4-y_chunks4] dask/array/tests/test_routines.py::test_matmul[x_shape5-y_shape5-x_chunks5-y_chunks5] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape5-y_shape5-x_chunks5-y_chunks5] dask/array/tests/test_routines.py::test_matmul[x_shape6-y_shape6-x_chunks6-y_chunks6] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape6-y_shape6-x_chunks6-y_chunks6] dask/array/tests/test_routines.py::test_matmul[x_shape7-y_shape7-x_chunks7-y_chunks7] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape7-y_shape7-x_chunks7-y_chunks7] dask/array/tests/test_routines.py::test_matmul[x_shape8-y_shape8-x_chunks8-y_chunks8] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape8-y_shape8-x_chunks8-y_chunks8] dask/array/tests/test_routines.py::test_matmul[x_shape9-y_shape9-x_chunks9-y_chunks9] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape9-y_shape9-x_chunks9-y_chunks9] dask/array/tests/test_routines.py::test_matmul[x_shape10-y_shape10-x_chunks10-y_chunks10] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape10-y_shape10-x_chunks10-y_chunks10] dask/array/tests/test_routines.py::test_matmul[x_shape11-y_shape11-x_chunks11-y_chunks11] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape11-y_shape11-x_chunks11-y_chunks11] dask/array/tests/test_routines.py::test_matmul[x_shape12-y_shape12-x_chunks12-y_chunks12] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape12-y_shape12-x_chunks12-y_chunks12] dask/array/tests/test_routines.py::test_matmul[x_shape13-y_shape13-x_chunks13-y_chunks13] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape13-y_shape13-x_chunks13-y_chunks13] dask/array/tests/test_routines.py::test_matmul[x_shape14-y_shape14-x_chunks14-y_chunks14] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape14-y_shape14-x_chunks14-y_chunks14] dask/array/tests/test_routines.py::test_matmul[x_shape15-y_shape15-x_chunks15-y_chunks15] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape15-y_shape15-x_chunks15-y_chunks15] dask/array/tests/test_routines.py::test_matmul[x_shape16-y_shape16-x_chunks16-y_chunks16] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape16-y_shape16-x_chunks16-y_chunks16] dask/array/tests/test_routines.py::test_matmul[x_shape17-y_shape17-x_chunks17-y_chunks17] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape17-y_shape17-x_chunks17-y_chunks17] dask/array/tests/test_routines.py::test_matmul[x_shape18-y_shape18-x_chunks18-y_chunks18] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape18-y_shape18-x_chunks18-y_chunks18] dask/array/tests/test_routines.py::test_matmul[x_shape19-y_shape19-x_chunks19-y_chunks19] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape19-y_shape19-x_chunks19-y_chunks19] dask/array/tests/test_routines.py::test_matmul[x_shape20-y_shape20-x_chunks20-y_chunks20] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape20-y_shape20-x_chunks20-y_chunks20] dask/array/tests/test_routines.py::test_matmul[x_shape21-y_shape21-x_chunks21-y_chunks21] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape21-y_shape21-x_chunks21-y_chunks21] dask/array/tests/test_routines.py::test_matmul[x_shape22-y_shape22-x_chunks22-y_chunks22] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape22-y_shape22-x_chunks22-y_chunks22] dask/array/tests/test_routines.py::test_matmul[x_shape23-y_shape23-x_chunks23-y_chunks23] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape23-y_shape23-x_chunks23-y_chunks23] dask/array/tests/test_routines.py::test_matmul[x_shape24-y_shape24-x_chunks24-y_chunks24] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape24-y_shape24-x_chunks24-y_chunks24] dask/array/tests/test_routines.py::test_matmul[x_shape25-y_shape25-x_chunks25-y_chunks25] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape25-y_shape25-x_chunks25-y_chunks25] dask/array/tests/test_routines.py::test_matmul[x_shape26-y_shape26-x_chunks26-y_chunks26] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape26-y_shape26-x_chunks26-y_chunks26] dask/array/tests/test_routines.py::test_matmul[x_shape27-y_shape27-x_chunks27-y_chunks27] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape27-y_shape27-x_chunks27-y_chunks27] dask/array/tests/test_routines.py::test_matmul[x_shape28-y_shape28-x_chunks28-y_chunks28] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape28-y_shape28-x_chunks28-y_chunks28] dask/array/tests/test_routines.py::test_matmul[x_shape29-y_shape29-x_chunks29-y_chunks29] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape29-y_shape29-x_chunks29-y_chunks29] dask/array/tests/test_routines.py::test_matmul[x_shape30-y_shape30-x_chunks30-y_chunks30] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape30-y_shape30-x_chunks30-y_chunks30] dask/array/tests/test_routines.py::test_matmul[x_shape31-y_shape31-x_chunks31-y_chunks31] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_matmul[x_shape31-y_shape31-x_chunks31-y_chunks31] dask/array/tests/test_routines.py::test_tensordot [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot dask/array/tests/test_routines.py::test_tensordot_2[0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[0] dask/array/tests/test_routines.py::test_tensordot_2[1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[1] dask/array/tests/test_routines.py::test_tensordot_2[axes2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[axes2] dask/array/tests/test_routines.py::test_tensordot_2[axes3] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[axes3] dask/array/tests/test_routines.py::test_tensordot_2[axes4] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[axes4] dask/array/tests/test_routines.py::test_tensordot_2[axes5] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[axes5] dask/array/tests/test_routines.py::test_tensordot_2[axes6] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_2[axes6] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[auto] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[auto] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks1] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks2] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks2] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks3] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks3] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks4] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks4] dask/array/tests/test_routines.py::test_tensordot_double_contraction_ngt2 [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_double_contraction_ngt2 dask/array/tests/test_routines.py::test_tensordot_more_than_26_dims [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-1] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-index] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-columns] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_tensordot_more_than_26_dims dask/array/tests/test_routines.py::test_dot_method [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_dot_method dask/array/tests/test_routines.py::test_dot_persist_equivalence [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_dot_persist_equivalence dask/array/tests/test_routines.py::test_vdot[shape0-chunks0] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-index] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_vdot[shape0-chunks0] dask/array/tests/test_routines.py::test_vdot[shape1-chunks1] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_vdot[shape1-chunks1] dask/array/tests/test_routines.py::test_outer[shape10-shape20] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_outer[shape10-shape20] dask/array/tests/test_routines.py::test_outer[shape11-shape21] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_outer[shape11-shape21] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-ndim--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-ndim--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-sum--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-sum--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range2--False] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-0] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range2--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-cumsum--True] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-cumsum--True] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-ndim--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-ndim--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-sum--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-sum--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range2--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range2--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-cumsum--True] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-cumsum--True] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-ndim--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-ndim--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-sum--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-sum--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range2--False] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range2--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-cumsum--True] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-cumsum--True] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-ndim--False] [gw0] [ 26%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-columns] [gw1] [ 26%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-ndim--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-sum--False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-sum--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range--False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range2--False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range2--False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-cumsum--True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-cumsum--True] dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum0-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum0-] dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum1-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum1-] dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-range-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-range-] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum0-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum0-] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum1-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum1-] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-range-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-range-] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum0-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum0-] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum1-] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum1-] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-range-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-range-] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum0-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum0-] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum1-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum1-] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-range-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-range-] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum0-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum0-] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum1-] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum1-] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-range-] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-range-] dask/array/tests/test_routines.py::test_ptp[shape0-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ptp[shape0-None] dask/array/tests/test_routines.py::test_ptp[shape1-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ptp[shape1-0] dask/array/tests/test_routines.py::test_ptp[shape2-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ptp[shape2-1] dask/array/tests/test_routines.py::test_ptp[shape3-2] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ptp[shape3-2] dask/array/tests/test_routines.py::test_ptp[shape4--1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ptp[shape4--1] dask/array/tests/test_routines.py::test_diff[0-shape0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[0-shape0-0] dask/array/tests/test_routines.py::test_diff[0-shape1-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[0-shape1-1] dask/array/tests/test_routines.py::test_diff[0-shape2-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[0-shape2-2] dask/array/tests/test_routines.py::test_diff[0-shape3--1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[0-shape3--1] dask/array/tests/test_routines.py::test_diff[1-shape0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[1-shape0-0] dask/array/tests/test_routines.py::test_diff[1-shape1-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[1-shape1-1] dask/array/tests/test_routines.py::test_diff[1-shape2-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[1-shape2-2] dask/array/tests/test_routines.py::test_diff[1-shape3--1] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[1-shape3--1] dask/array/tests/test_routines.py::test_diff[2-shape0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[2-shape0-0] dask/array/tests/test_routines.py::test_diff[2-shape1-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[2-shape1-1] dask/array/tests/test_routines.py::test_diff[2-shape2-2] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[2-shape2-2] dask/array/tests/test_routines.py::test_diff[2-shape3--1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff[2-shape3--1] dask/array/tests/test_routines.py::test_diff_prepend[0] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_prepend[0] dask/array/tests/test_routines.py::test_diff_prepend[1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_prepend[1] dask/array/tests/test_routines.py::test_diff_prepend[2] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_prepend[2] dask/array/tests/test_routines.py::test_diff_append[0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_append[0] dask/array/tests/test_routines.py::test_diff_append[1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_append[1] dask/array/tests/test_routines.py::test_diff_append[2] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_append[2] dask/array/tests/test_routines.py::test_diff_negative_order [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_diff_negative_order dask/array/tests/test_routines.py::test_ediff1d[None-None-shape0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[None-None-shape0] dask/array/tests/test_routines.py::test_ediff1d[None-None-shape1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[None-None-shape1] dask/array/tests/test_routines.py::test_ediff1d[0-0-shape0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[0-0-shape0] dask/array/tests/test_routines.py::test_ediff1d[0-0-shape1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[0-0-shape1] dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape0] dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape1] dask/array/tests/test_routines.py::test_gradient[1-shape0-varargs0-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape0-varargs0-None] dask/array/tests/test_routines.py::test_gradient[1-shape1-varargs1-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape1-varargs1-None] dask/array/tests/test_routines.py::test_gradient[1-shape2-varargs2-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape2-varargs2-None] dask/array/tests/test_routines.py::test_gradient[1-shape3-varargs3-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape3-varargs3-0] dask/array/tests/test_routines.py::test_gradient[1-shape4-varargs4-1] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape4-varargs4-1] dask/array/tests/test_routines.py::test_gradient[1-shape5-varargs5-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape5-varargs5-2] dask/array/tests/test_routines.py::test_gradient[1-shape6-varargs6--1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape6-varargs6--1] dask/array/tests/test_routines.py::test_gradient[1-shape7-varargs7-axis7] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-1] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape7-varargs7-axis7] dask/array/tests/test_routines.py::test_gradient[1-shape8-varargs8-axis8] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape8-varargs8-axis8] dask/array/tests/test_routines.py::test_gradient[1-shape9-varargs9-axis9] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape9-varargs9-axis9] dask/array/tests/test_routines.py::test_gradient[1-shape10-varargs10--1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[1-shape10-varargs10--1] dask/array/tests/test_routines.py::test_gradient[2-shape0-varargs0-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape0-varargs0-None] dask/array/tests/test_routines.py::test_gradient[2-shape1-varargs1-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape1-varargs1-None] dask/array/tests/test_routines.py::test_gradient[2-shape2-varargs2-None] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-0] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape2-varargs2-None] dask/array/tests/test_routines.py::test_gradient[2-shape3-varargs3-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape3-varargs3-0] dask/array/tests/test_routines.py::test_gradient[2-shape4-varargs4-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape4-varargs4-1] dask/array/tests/test_routines.py::test_gradient[2-shape5-varargs5-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape5-varargs5-2] dask/array/tests/test_routines.py::test_gradient[2-shape6-varargs6--1] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape6-varargs6--1] dask/array/tests/test_routines.py::test_gradient[2-shape7-varargs7-axis7] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape7-varargs7-axis7] dask/array/tests/test_routines.py::test_gradient[2-shape8-varargs8-axis8] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape8-varargs8-axis8] dask/array/tests/test_routines.py::test_gradient[2-shape9-varargs9-axis9] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape9-varargs9-axis9] dask/array/tests/test_routines.py::test_gradient[2-shape10-varargs10--1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_gradient[2-shape10-varargs10--1] dask/array/tests/test_routines.py::test_bincount [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_bincount dask/array/tests/test_routines.py::test_bincount_with_weights[weights0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_bincount_with_weights[weights0] dask/array/tests/test_routines.py::test_bincount_with_weights[weights1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_bincount_with_weights[weights1] dask/array/tests/test_routines.py::test_bincount_unspecified_minlength [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_bincount_unspecified_minlength dask/array/tests/test_routines.py::test_digitize [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_digitize dask/array/tests/test_routines.py::test_searchsorted[left-a0-1-v0-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a0-1-v0-1] dask/array/tests/test_routines.py::test_searchsorted[left-a1-1-v1-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a1-1-v1-1] dask/array/tests/test_routines.py::test_searchsorted[left-a2-3-v2-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a2-3-v2-2] dask/array/tests/test_routines.py::test_searchsorted[left-a3-3-v3-5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a3-3-v3-5] dask/array/tests/test_routines.py::test_searchsorted[left-a4-3-v4-5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a4-3-v4-5] dask/array/tests/test_routines.py::test_searchsorted[left-a5-3-v5-v_chunks5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[left-a5-3-v5-v_chunks5] dask/array/tests/test_routines.py::test_searchsorted[right-a0-1-v0-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a0-1-v0-1] dask/array/tests/test_routines.py::test_searchsorted[right-a1-1-v1-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a1-1-v1-1] dask/array/tests/test_routines.py::test_searchsorted[right-a2-3-v2-2] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a2-3-v2-2] dask/array/tests/test_routines.py::test_searchsorted[right-a3-3-v3-5] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a3-3-v3-5] dask/array/tests/test_routines.py::test_searchsorted[right-a4-3-v4-5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a4-3-v4-5] dask/array/tests/test_routines.py::test_searchsorted[right-a5-3-v5-v_chunks5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted[right-a5-3-v5-v_chunks5] dask/array/tests/test_routines.py::test_searchsorted_sorter_not_implemented [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_searchsorted_sorter_not_implemented dask/array/tests/test_routines.py::test_histogram [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram dask/array/tests/test_routines.py::test_histogram_alternative_bins_range [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_alternative_bins_range dask/array/tests/test_routines.py::test_histogram_bins_range_with_nan_array [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bins_range_with_nan_array dask/array/tests/test_routines.py::test_histogram_return_type [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_return_type dask/array/tests/test_routines.py::test_histogram_extra_args_and_shapes [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-0] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_extra_args_and_shapes dask/array/tests/test_routines.py::test_histogram_normed_deprecation [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_normed_deprecation dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-None] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-None] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-1] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-hist_range3] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-hist_range3] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range4] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range4] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range5] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range5] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range6] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range6] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range7] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range7] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins8-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins8-None] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins9-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins9-None] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins10-None] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins10-None] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-True] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-True] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-True] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-1] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-False] dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-True] dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-index] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-False] dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-True] dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-False] dask/array/tests/test_routines.py::test_histogram_delayed_n_bins_raises_with_density [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram_delayed_n_bins_raises_with_density dask/array/tests/test_routines.py::test_histogram2d[bins0-True-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[bins0-True-True] dask/array/tests/test_routines.py::test_histogram2d[bins0-True-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[bins0-True-False] dask/array/tests/test_routines.py::test_histogram2d[bins0-False-True] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-0] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[bins0-False-True] dask/array/tests/test_routines.py::test_histogram2d[bins0-False-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[bins0-False-False] dask/array/tests/test_routines.py::test_histogram2d[5-True-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[5-True-True] dask/array/tests/test_routines.py::test_histogram2d[5-True-False] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-columns] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[5-True-False] dask/array/tests/test_routines.py::test_histogram2d[5-False-True] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[5-False-True] dask/array/tests/test_routines.py::test_histogram2d[5-False-False] [gw1] [ 27%] PASSED dask/array/tests/test_routines.py::test_histogram2d[5-False-False] dask/array/tests/test_routines.py::test_histogram2d_array_bins[True-True] [gw0] [ 27%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogram2d_array_bins[True-True] dask/array/tests/test_routines.py::test_histogram2d_array_bins[True-False] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogram2d_array_bins[True-False] dask/array/tests/test_routines.py::test_histogram2d_array_bins[False-True] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogram2d_array_bins[False-True] dask/array/tests/test_routines.py::test_histogram2d_array_bins[False-False] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogram2d_array_bins[False-False] dask/array/tests/test_routines.py::test_histogramdd [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd dask/array/tests/test_routines.py::test_histogramdd_seq_of_arrays [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_seq_of_arrays dask/array/tests/test_routines.py::test_histogramdd_alternative_bins_range [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_alternative_bins_range dask/array/tests/test_routines.py::test_histogramdd_weighted [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_weighted dask/array/tests/test_routines.py::test_histogramdd_density [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-columns] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_density dask/array/tests/test_routines.py::test_histogramdd_weighted_density [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_weighted_density dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_sample_chunks [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_sample_chunks dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_multiarg_chunks [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_multiarg_chunks dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_weight_chunks [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_weight_chunks dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_bins_or_range [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raises_incompat_bins_or_range dask/array/tests/test_routines.py::test_histogramdd_raise_normed_and_density [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raise_normed_and_density dask/array/tests/test_routines.py::test_histogramdd_raise_incompat_shape [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_raise_incompat_shape dask/array/tests/test_routines.py::test_histogramdd_edges [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_histogramdd_edges dask/array/tests/test_routines.py::test_cov [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_cov dask/array/tests/test_routines.py::test_corrcoef [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_corrcoef dask/array/tests/test_routines.py::test_round [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_round dask/array/tests/test_routines.py::test_unique_kwargs[False-False-False] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[False-False-False] dask/array/tests/test_routines.py::test_unique_kwargs[False-False-True] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[False-False-True] dask/array/tests/test_routines.py::test_unique_kwargs[False-True-False] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[False-True-False] dask/array/tests/test_routines.py::test_unique_kwargs[False-True-True] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[False-True-True] dask/array/tests/test_routines.py::test_unique_kwargs[True-False-False] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[True-False-False] dask/array/tests/test_routines.py::test_unique_kwargs[True-False-True] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[True-False-True] dask/array/tests/test_routines.py::test_unique_kwargs[True-True-False] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[True-True-False] dask/array/tests/test_routines.py::test_unique_kwargs[True-True-True] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_kwargs[True-True-True] dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-23] dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-796] dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-23] dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-0-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-796] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-columns] dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-23] dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-796] dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-23] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-23] dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-23] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-columns] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-1] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-23] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-columns] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[True-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape0-elements_chunks0-0-10-796] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-0] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape0-test_chunks0-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-columns] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape1-test_chunks1-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-23] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape2-test_chunks2-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape0-elements_chunks0-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-796] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape1-elements_chunks1-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-23] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape2-elements_chunks2-0-10-796] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-23] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-False-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-columns] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-23] dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-796] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-1] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-index] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_rand[False-test_shape3-test_chunks3-elements_shape3-elements_chunks3-0-10-796] dask/array/tests/test_routines.py::test_isin_assume_unique[True] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_assume_unique[True] dask/array/tests/test_routines.py::test_isin_assume_unique[False] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_isin_assume_unique[False] dask/array/tests/test_routines.py::test_roll[None-3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-3-chunks0] dask/array/tests/test_routines.py::test_roll[None-3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-3-chunks1] dask/array/tests/test_routines.py::test_roll[None-7-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-7-chunks0] dask/array/tests/test_routines.py::test_roll[None-7-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-7-chunks1] dask/array/tests/test_routines.py::test_roll[None-9-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-9-chunks0] dask/array/tests/test_routines.py::test_roll[None-9-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-9-chunks1] dask/array/tests/test_routines.py::test_roll[None-shift3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[None-shift3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[None-shift4-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[None-shift4-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[None-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[0-3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-3-chunks0] dask/array/tests/test_routines.py::test_roll[0-3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-3-chunks1] dask/array/tests/test_routines.py::test_roll[0-7-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-7-chunks0] dask/array/tests/test_routines.py::test_roll[0-7-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-7-chunks1] dask/array/tests/test_routines.py::test_roll[0-9-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-9-chunks0] dask/array/tests/test_routines.py::test_roll[0-9-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-9-chunks1] dask/array/tests/test_routines.py::test_roll[0-shift3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[0-shift3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[0-shift4-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[0-shift4-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[0-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[1-3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-3-chunks0] dask/array/tests/test_routines.py::test_roll[1-3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-3-chunks1] dask/array/tests/test_routines.py::test_roll[1-7-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-7-chunks0] dask/array/tests/test_routines.py::test_roll[1-7-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-7-chunks1] dask/array/tests/test_routines.py::test_roll[1-9-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-9-chunks0] dask/array/tests/test_routines.py::test_roll[1-9-chunks1] [gw0] [ 28%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-9-chunks1] dask/array/tests/test_routines.py::test_roll[1-shift3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[1-shift3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[1-shift4-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[1-shift4-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[1-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[-1-3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-3-chunks0] dask/array/tests/test_routines.py::test_roll[-1-3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-3-chunks1] dask/array/tests/test_routines.py::test_roll[-1-7-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-7-chunks0] dask/array/tests/test_routines.py::test_roll[-1-7-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-7-chunks1] dask/array/tests/test_routines.py::test_roll[-1-9-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-9-chunks0] dask/array/tests/test_routines.py::test_roll[-1-9-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-9-chunks1] dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-3-chunks0] dask/array/tests/test_routines.py::test_roll[axis4-3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-3-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-7-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-7-chunks0] dask/array/tests/test_routines.py::test_roll[axis4-7-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-7-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-9-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-9-chunks0] dask/array/tests/test_routines.py::test_roll[axis4-9-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-9-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks0] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks1] [gw1] [ 28%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[axis5-3-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-3-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-3-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-3-chunks1] dask/array/tests/test_routines.py::test_roll[axis5-7-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-7-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-7-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-7-chunks1] dask/array/tests/test_routines.py::test_roll[axis5-9-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-9-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-9-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-9-chunks1] dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks1] dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks1] dask/array/tests/test_routines.py::test_roll_always_results_in_a_new_array [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll_always_results_in_a_new_array dask/array/tests/test_routines.py::test_roll_works_even_if_shape_is_0 [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_roll_works_even_if_shape_is_0 dask/array/tests/test_routines.py::test_shape_and_ndim[shape0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_shape_and_ndim[shape0] dask/array/tests/test_routines.py::test_shape_and_ndim[shape1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_shape_and_ndim[shape1] dask/array/tests/test_routines.py::test_shape_and_ndim[shape2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_shape_and_ndim[shape2] dask/array/tests/test_routines.py::test_union1d[True-shape0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[True-shape0] dask/array/tests/test_routines.py::test_union1d[True-shape1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[True-shape1] dask/array/tests/test_routines.py::test_union1d[True-shape2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[True-shape2] dask/array/tests/test_routines.py::test_union1d[False-shape0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[False-shape0] dask/array/tests/test_routines.py::test_union1d[False-shape1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[False-shape1] dask/array/tests/test_routines.py::test_union1d[False-shape2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_union1d[False-shape2] dask/array/tests/test_routines.py::test_ravel [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-columns] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel dask/array/tests/test_routines.py::test_ravel_1D_no_op [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_1D_no_op dask/array/tests/test_routines.py::test_ravel_with_array_like [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_with_array_like dask/array/tests/test_routines.py::test_expand_dims[None] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[None] dask/array/tests/test_routines.py::test_expand_dims[0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[0] dask/array/tests/test_routines.py::test_expand_dims[1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[1] dask/array/tests/test_routines.py::test_expand_dims[-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[-1] dask/array/tests/test_routines.py::test_expand_dims[axis4] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[axis4] dask/array/tests/test_routines.py::test_expand_dims[axis5] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[axis5] dask/array/tests/test_routines.py::test_expand_dims[axis6] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[axis6] dask/array/tests/test_routines.py::test_expand_dims[2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_expand_dims[2] dask/array/tests/test_routines.py::test_squeeze[None-True] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[None-True] dask/array/tests/test_routines.py::test_squeeze[None-False] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[None-False] dask/array/tests/test_routines.py::test_squeeze[0-True] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[0-True] dask/array/tests/test_routines.py::test_squeeze[0-False] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[0-False] dask/array/tests/test_routines.py::test_squeeze[-1-True] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[-1-True] dask/array/tests/test_routines.py::test_squeeze[-1-False] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[-1-False] dask/array/tests/test_routines.py::test_squeeze[axis3-True] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[axis3-True] dask/array/tests/test_routines.py::test_squeeze[axis3-False] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze[axis3-False] dask/array/tests/test_routines.py::test_squeeze_1d_array[shape0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze_1d_array[shape0] dask/array/tests/test_routines.py::test_squeeze_1d_array[shape1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_squeeze_1d_array[shape1] dask/array/tests/test_routines.py::test_vstack [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_vstack dask/array/tests/test_routines.py::test_hstack [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_hstack dask/array/tests/test_routines.py::test_dstack [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_dstack dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[hstack-hstack-0] [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[hstack-hstack-0] dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[dstack-dstack-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[dstack-dstack-1] dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[vstack-vstack-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[vstack-vstack-2] dask/array/tests/test_routines.py::test_take [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_take dask/array/tests/test_routines.py::test_take_dask_from_numpy [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_take_dask_from_numpy dask/array/tests/test_routines.py::test_compress [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-index] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_compress dask/array/tests/test_routines.py::test_extract [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_extract dask/array/tests/test_routines.py::test_isnull [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_isnull dask/array/tests/test_routines.py::test_isnull_result_is_an_array [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_isnull_result_is_an_array dask/array/tests/test_routines.py::test_isclose [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_isclose dask/array/tests/test_routines.py::test_allclose [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_allclose dask/array/tests/test_routines.py::test_choose [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_choose dask/array/tests/test_routines.py::test_piecewise [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_piecewise dask/array/tests/test_routines.py::test_piecewise_otherwise [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_piecewise_otherwise dask/array/tests/test_routines.py::test_select [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_select dask/array/tests/test_routines.py::test_select_multidimension [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_select_multidimension dask/array/tests/test_routines.py::test_select_return_dtype [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_select_return_dtype dask/array/tests/test_routines.py::test_select_broadcasting [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-columns] [gw1] [ 29%] XFAIL dask/array/tests/test_routines.py::test_select_broadcasting dask/array/tests/test_routines.py::test_argwhere [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_argwhere dask/array/tests/test_routines.py::test_argwhere_obj [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_argwhere_obj dask/array/tests/test_routines.py::test_argwhere_str [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_argwhere_str dask/array/tests/test_routines.py::test_where [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-index] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_where dask/array/tests/test_routines.py::test_where_scalar_dtype [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_where_scalar_dtype dask/array/tests/test_routines.py::test_where_bool_optimization [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_where_bool_optimization dask/array/tests/test_routines.py::test_where_nonzero [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_where_nonzero dask/array/tests/test_routines.py::test_where_incorrect_args [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_where_incorrect_args dask/array/tests/test_routines.py::test_count_nonzero [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero dask/array/tests/test_routines.py::test_count_nonzero_axis[None] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_axis[None] dask/array/tests/test_routines.py::test_count_nonzero_axis[0] [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_axis[0] dask/array/tests/test_routines.py::test_count_nonzero_axis[axis2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_axis[axis2] dask/array/tests/test_routines.py::test_count_nonzero_axis[axis3] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_axis[axis3] dask/array/tests/test_routines.py::test_count_nonzero_obj [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_obj dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[None] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[None] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[0] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis2] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis3] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis3] dask/array/tests/test_routines.py::test_count_nonzero_str [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_count_nonzero_str dask/array/tests/test_routines.py::test_flatnonzero [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_flatnonzero dask/array/tests/test_routines.py::test_nonzero [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-columns] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_nonzero dask/array/tests/test_routines.py::test_nonzero_method [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_nonzero_method dask/array/tests/test_routines.py::test_unravel_index_empty [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_unravel_index_empty dask/array/tests/test_routines.py::test_unravel_index [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_unravel_index dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-asarray] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-from_array] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr6-chunks6-kwargs6-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-0] [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-index] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-asarray] [gw1] [ 29%] SKIPPED dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-from_array] [gw1] [ 29%] SKIPPED dask/array/tests/test_routines.py::test_ravel_multi_index[arr7-None-kwargs7-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-2] dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-asarray] [gw1] [ 29%] SKIPPED dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-asarray] dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-from_array] [gw1] [ 29%] SKIPPED dask/array/tests/test_routines.py::test_ravel_multi_index[arr8-None-kwargs8-from_array] dask/array/tests/test_routines.py::test_ravel_multi_index_unknown_shape [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_unknown_shape dask/array/tests/test_routines.py::test_ravel_multi_index_unknown_shape_fails [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_unknown_shape_fails dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[False-dims0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[False-dims0] dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[False-dims1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[False-dims1] dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[True-dims0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[True-dims0] dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[True-dims1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_delayed_dims[True-dims1] dask/array/tests/test_routines.py::test_ravel_multi_index_non_int_dtype [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_ravel_multi_index_non_int_dtype dask/array/tests/test_routines.py::test_coarsen [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen dask/array/tests/test_routines.py::test_coarsen_with_excess [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_with_excess dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks0] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks1] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks2] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks3] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks3] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks4] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks4] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks5] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks5] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks6] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks6] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks7] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks7] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks8] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks8] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks9] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks9] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks10] [gw0] [ 29%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-0] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks10] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks11] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks11] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks12] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks12] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks13] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks13] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks14] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks14] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks15] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks15] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks0-1] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks0-1] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks1-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks1-2] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks2-2] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks2-2] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks3-10] [gw1] [ 29%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks3-10] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks4-10] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks4-10] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks5-8] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks5-8] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks6-10] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks6-10] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks7-16] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks7-16] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks8-10] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks8-10] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks9-4] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks9-4] dask/array/tests/test_routines.py::test_insert [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_insert dask/array/tests/test_routines.py::test_append [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-columns] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_append dask/array/tests/test_routines.py::test_multi_insert [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_multi_insert dask/array/tests/test_routines.py::test_delete [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_delete dask/array/tests/test_routines.py::test_result_type [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_result_type dask/array/tests/test_routines.py::test_einsum[abc,bad->abcd] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[abc,bad->abcd] dask/array/tests/test_routines.py::test_einsum[abcdef,bcdfg->abcdeg] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[abcdef,bcdfg->abcdeg] dask/array/tests/test_routines.py::test_einsum[ea,fb,abcd,gc,hd->efgh] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-index] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-0] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ea,fb,abcd,gc,hd->efgh] dask/array/tests/test_routines.py::test_einsum[ab,b] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ab,b] dask/array/tests/test_routines.py::test_einsum[aa] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[aa] dask/array/tests/test_routines.py::test_einsum[a,a->] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a,a->] dask/array/tests/test_routines.py::test_einsum[a,a->a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a,a->a] dask/array/tests/test_routines.py::test_einsum[a,a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a,a] dask/array/tests/test_routines.py::test_einsum[a,b] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a,b] dask/array/tests/test_routines.py::test_einsum[a,b,c] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a,b,c] dask/array/tests/test_routines.py::test_einsum[a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a] dask/array/tests/test_routines.py::test_einsum[ba,b] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ba,b] dask/array/tests/test_routines.py::test_einsum[ba,b->] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ba,b->] dask/array/tests/test_routines.py::test_einsum[defab,fedbc->defac] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-columns] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[defab,fedbc->defac] dask/array/tests/test_routines.py::test_einsum[ab...,bc...->ac...] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ab...,bc...->ac...] dask/array/tests/test_routines.py::test_einsum[a...a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a...a] dask/array/tests/test_routines.py::test_einsum[abc...->cba...] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[abc...->cba...] dask/array/tests/test_routines.py::test_einsum[...ab->...a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[...ab->...a] dask/array/tests/test_routines.py::test_einsum[a...a->a...] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[a...a->a...] dask/array/tests/test_routines.py::test_einsum[...abc,...abcd->...d] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[...abc,...abcd->...d] dask/array/tests/test_routines.py::test_einsum[ab...,b->ab...] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ab...,b->ab...] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-1] dask/array/tests/test_routines.py::test_einsum[aa->a] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[aa->a] dask/array/tests/test_routines.py::test_einsum[ab,ab,c->c] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[ab,ab,c->c] dask/array/tests/test_routines.py::test_einsum[aab,bc->ac] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[aab,bc->ac] dask/array/tests/test_routines.py::test_einsum[aab,bcc->ac] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[aab,bcc->ac] dask/array/tests/test_routines.py::test_einsum[fdf,cdd,ccd,afe->ae] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[fdf,cdd,ccd,afe->ae] dask/array/tests/test_routines.py::test_einsum[fff,fae,bef,def->abd] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum[fff,fae,bef,def->abd] dask/array/tests/test_routines.py::test_einsum_chunksizes [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-index] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-0] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-columns] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_chunksizes dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts0] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts0] dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts1] dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts2] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts2] dask/array/tests/test_routines.py::test_einsum_order[C] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_order[C] dask/array/tests/test_routines.py::test_einsum_order[F] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_order[F] dask/array/tests/test_routines.py::test_einsum_order[A] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_order[A] dask/array/tests/test_routines.py::test_einsum_order[K] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_order[K] dask/array/tests/test_routines.py::test_einsum_casting[no] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_casting[no] dask/array/tests/test_routines.py::test_einsum_casting[equiv] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_casting[equiv] dask/array/tests/test_routines.py::test_einsum_casting[safe] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_casting[safe] dask/array/tests/test_routines.py::test_einsum_casting[same_kind] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_casting[same_kind] dask/array/tests/test_routines.py::test_einsum_casting[unsafe] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_casting[unsafe] dask/array/tests/test_routines.py::test_einsum_split_every[None] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_split_every[None] dask/array/tests/test_routines.py::test_einsum_split_every[2] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_split_every[2] dask/array/tests/test_routines.py::test_einsum_invalid_args [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_invalid_args dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction2 [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-index] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction2 dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction3 [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction3 dask/array/tests/test_routines.py::test_einsum_empty_dimension [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_einsum_empty_dimension dask/array/tests/test_routines.py::test_average[True-a0] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average[True-a0] dask/array/tests/test_routines.py::test_average[True-a1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average[True-a1] dask/array/tests/test_routines.py::test_average[False-a0] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average[False-a0] dask/array/tests/test_routines.py::test_average[False-a1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average[False-a1] dask/array/tests/test_routines.py::test_average_keepdims[a0] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average_keepdims[a0] dask/array/tests/test_routines.py::test_average_keepdims[a1] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average_keepdims[a1] dask/array/tests/test_routines.py::test_average_weights[False] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average_weights[False] dask/array/tests/test_routines.py::test_average_weights[True] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average_weights[True] dask/array/tests/test_routines.py::test_average_raises [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_average_raises dask/array/tests/test_routines.py::test_iscomplexobj [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_iscomplexobj dask/array/tests/test_routines.py::test_tril_triu [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-0] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-columns] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-index] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-0] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-columns] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-index] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-0] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-columns] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu dask/array/tests/test_routines.py::test_tril_ndims [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_ndims dask/array/tests/test_routines.py::test_tril_triu_non_square_arrays [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu_non_square_arrays dask/array/tests/test_routines.py::test_tril_triu_indices[3-0-3-auto] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu_indices[3-0-3-auto] dask/array/tests/test_routines.py::test_tril_triu_indices[3-1-3-auto] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu_indices[3-1-3-auto] dask/array/tests/test_routines.py::test_tril_triu_indices[3--1-3-auto] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu_indices[3--1-3-auto] dask/array/tests/test_routines.py::test_tril_triu_indices[5-0-5-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-index] [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_tril_triu_indices[5-0-5-1] dask/array/tests/test_routines.py::test_pickle_vectorized_routines [gw1] [ 30%] PASSED dask/array/tests/test_routines.py::test_pickle_vectorized_routines dask/array/tests/test_shuffle.py::test_shuffle[indexer0-chunks0-other_chunks0] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle[indexer0-chunks0-other_chunks0] dask/array/tests/test_shuffle.py::test_shuffle[indexer1-chunks1-other_chunks1] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle[indexer1-chunks1-other_chunks1] dask/array/tests/test_shuffle.py::test_shuffle[indexer2-chunks2-other_chunks2] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle[indexer2-chunks2-other_chunks2] dask/array/tests/test_shuffle.py::test_shuffle[indexer3-chunks3-other_chunks3] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle[indexer3-chunks3-other_chunks3] dask/array/tests/test_shuffle.py::test_shuffle_config_tolerance[1-chunks0] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle_config_tolerance[1-chunks0] dask/array/tests/test_shuffle.py::test_shuffle_config_tolerance[1.4-chunks1] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle_config_tolerance[1.4-chunks1] dask/array/tests/test_shuffle.py::test_shuffle_larger_array [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-0] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle_larger_array dask/array/tests/test_shuffle.py::test_incompatible_indexer [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_incompatible_indexer dask/array/tests/test_shuffle.py::test_unknown_chunk_sizes [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_unknown_chunk_sizes dask/array/tests/test_shuffle.py::test_oob_axis [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_oob_axis dask/array/tests/test_shuffle.py::test_oob_indexer [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_oob_indexer dask/array/tests/test_shuffle.py::test_shuffle_no_op_with_correct_indexer [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_shuffle_no_op_with_correct_indexer dask/array/tests/test_shuffle.py::test_resize_other_dimensions [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-columns] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-index] [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_resize_other_dimensions dask/array/tests/test_shuffle.py::test_dtype_taker [gw1] [ 30%] PASSED dask/array/tests/test_shuffle.py::test_dtype_taker dask/array/tests/test_slicing.py::test_slice_1d [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_1d dask/array/tests/test_slicing.py::test_slice_singleton_value_on_boundary [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_singleton_value_on_boundary dask/array/tests/test_slicing.py::test_slice_array_1d [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_array_1d dask/array/tests/test_slicing.py::test_slice_array_2d [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_array_2d dask/array/tests/test_slicing.py::test_slice_optimizations [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_optimizations dask/array/tests/test_slicing.py::test_slicing_with_singleton_indices [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_singleton_indices dask/array/tests/test_slicing.py::test_slicing_with_newaxis [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_newaxis dask/array/tests/test_slicing.py::test_take [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_take dask/array/tests/test_slicing.py::test_take_sorted [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_take_sorted dask/array/tests/test_slicing.py::test_slicing_chunks [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_chunks dask/array/tests/test_slicing.py::test_slicing_with_numpy_arrays [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_numpy_arrays dask/array/tests/test_slicing.py::test_slicing_and_chunks [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_and_chunks dask/array/tests/test_slicing.py::test_slicing_and_unknown_chunks [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_and_unknown_chunks dask/array/tests/test_slicing.py::test_slicing_identities [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_identities dask/array/tests/test_slicing.py::test_slice_stop_0 [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_stop_0 dask/array/tests/test_slicing.py::test_slice_list_then_None [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slice_list_then_None dask/array/tests/test_slicing.py::test_slicing_exhaustively [gw1] [ 30%] SKIPPED dask/array/tests/test_slicing.py::test_slicing_exhaustively dask/array/tests/test_slicing.py::test_slicing_with_negative_step_flops_keys [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_negative_step_flops_keys dask/array/tests/test_slicing.py::test_empty_slice [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_empty_slice dask/array/tests/test_slicing.py::test_multiple_list_slicing [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_multiple_list_slicing dask/array/tests/test_slicing.py::test_boolean_list_slicing [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_boolean_list_slicing dask/array/tests/test_slicing.py::test_boolean_numpy_array_slicing [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_boolean_numpy_array_slicing dask/array/tests/test_slicing.py::test_empty_list [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-0] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_empty_list dask/array/tests/test_slicing.py::test_uneven_chunks [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_uneven_chunks dask/array/tests/test_slicing.py::test_new_blockdim [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_new_blockdim dask/array/tests/test_slicing.py::test_slicing_consistent_names [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_consistent_names dask/array/tests/test_slicing.py::test_slicing_consistent_names_after_normalization [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_slicing_consistent_names_after_normalization dask/array/tests/test_slicing.py::test_sanitize_index_element [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_sanitize_index_element dask/array/tests/test_slicing.py::test_sanitize_index [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_sanitize_index dask/array/tests/test_slicing.py::test_uneven_blockdims [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_uneven_blockdims dask/array/tests/test_slicing.py::test_oob_check [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_oob_check dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-None] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-None] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[None-1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-None] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-None] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks1-1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-None] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-None] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-columns] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks2-1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-None] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-None] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks3-1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-None] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-None] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-1] [gw0] [ 30%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array[x_chunks4-1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[3] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_0d[3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[1] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[1] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[2] [gw1] [ 30%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[3] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-index] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[3] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[4] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[4] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[5] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nanchunks[5] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_negindex[2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_negindex[2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_negindex[4] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_negindex[4] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_indexerror[2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_indexerror[2] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_indexerror[4] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_indexerror[4] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int8] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int8] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int16] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int16] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int32] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int32] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int64] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[int64] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint8] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint8] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint16] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint16] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint32] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint32] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint64] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_dtypes[uint64] dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nocompute [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_int_dask_array_nocompute dask/array/tests/test_slicing.py::test_index_with_bool_dask_array [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_bool_dask_array dask/array/tests/test_slicing.py::test_index_with_bool_dask_array_2 [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_index_with_bool_dask_array_2 dask/array/tests/test_slicing.py::test_cull [gw1] [ 31%] XFAIL dask/array/tests/test_slicing.py::test_cull dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape0] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape1] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index0-shape2] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape0] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape1] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index1-shape2] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape0] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape1] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index2-shape2] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape0] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape1] dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape2] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_with_Nones[index3-shape2] dask/array/tests/test_slicing.py::test_slicing_integer_no_warnings [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slicing_integer_no_warnings dask/array/tests/test_slicing.py::test_slicing_none_int_ellipes [gw1] [ 31%] SKIPPED dask/array/tests/test_slicing.py::test_slicing_none_int_ellipes dask/array/tests/test_slicing.py::test_None_overlap_int [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_None_overlap_int dask/array/tests/test_slicing.py::test_negative_n_slicing [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-columns] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_negative_n_slicing dask/array/tests/test_slicing.py::test_negative_list_slicing [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_negative_list_slicing dask/array/tests/test_slicing.py::test_permit_oob_slices [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_permit_oob_slices dask/array/tests/test_slicing.py::test_normalize_index [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_normalize_index dask/array/tests/test_slicing.py::test_take_semi_sorted [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_take_semi_sorted dask/array/tests/test_slicing.py::test_getitem_avoids_large_chunks [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-1] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-index] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-0] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-columns] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-1] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-index] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_getitem_avoids_large_chunks dask/array/tests/test_slicing.py::test_getitem_avoids_large_chunks_missing [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-columns] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-1] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-index] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_getitem_avoids_large_chunks_missing dask/array/tests/test_slicing.py::test_take_avoids_large_chunks [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-columns] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_take_avoids_large_chunks dask/array/tests/test_slicing.py::test_take_uses_config [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_take_uses_config dask/array/tests/test_slicing.py::test_pathological_unsorted_slicing [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_pathological_unsorted_slicing dask/array/tests/test_slicing.py::test_setitem_with_different_chunks_preserves_shape[params0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_setitem_with_different_chunks_preserves_shape[params0] dask/array/tests/test_slicing.py::test_setitem_with_different_chunks_preserves_shape[params1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_setitem_with_different_chunks_preserves_shape[params1] dask/array/tests/test_slicing.py::test_gh3579 [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh3579 dask/array/tests/test_slicing.py::test_make_blockwise_sorted_slice [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_make_blockwise_sorted_slice dask/array/tests/test_slicing.py::test_shuffle_slice[size0-chunks0] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_shuffle_slice[size0-chunks0] dask/array/tests/test_slicing.py::test_shuffle_slice[size1-chunks1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_shuffle_slice[size1-chunks1] dask/array/tests/test_slicing.py::test_shuffle_slice[size2-chunks2] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-1] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_shuffle_slice[size2-chunks2] dask/array/tests/test_slicing.py::test_unknown_chunks_length_one [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_unknown_chunks_length_one dask/array/tests/test_slicing.py::test_gh4043[True-True-True] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[True-True-True] dask/array/tests/test_slicing.py::test_gh4043[True-True-False] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[True-True-False] dask/array/tests/test_slicing.py::test_gh4043[True-False-True] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[True-False-True] dask/array/tests/test_slicing.py::test_gh4043[True-False-False] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[True-False-False] dask/array/tests/test_slicing.py::test_gh4043[False-True-True] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[False-True-True] dask/array/tests/test_slicing.py::test_gh4043[False-True-False] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[False-True-False] dask/array/tests/test_slicing.py::test_gh4043[False-False-True] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[False-False-True] dask/array/tests/test_slicing.py::test_gh4043[False-False-False] [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_gh4043[False-False-False] dask/array/tests/test_slicing.py::test_slice_array_3d_with_bool_numpy_array [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slice_array_3d_with_bool_numpy_array dask/array/tests/test_slicing.py::test_slice_masked_arrays [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slice_masked_arrays dask/array/tests/test_slicing.py::test_slice_array_null_dimension [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_slice_array_null_dimension dask/array/tests/test_slicing.py::test_take_sorted_indexer [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_take_sorted_indexer dask/array/tests/test_slicing.py::test_all_none_slices_just_mappings [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_all_none_slices_just_mappings dask/array/tests/test_slicing.py::test_minimal_dtype_doesnt_overflow [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_minimal_dtype_doesnt_overflow dask/array/tests/test_slicing.py::test_vindex_with_dask_array [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_vindex_with_dask_array dask/array/tests/test_slicing.py::test_positional_indexer_newaxis [gw1] [ 31%] PASSED dask/array/tests/test_slicing.py::test_positional_indexer_newaxis dask/array/tests/test_stats.py::test_measures[True-skew-kwargs0] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-index] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[True-skew-kwargs0] dask/array/tests/test_stats.py::test_measures[True-kurtosis-kwargs1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[True-kurtosis-kwargs1] dask/array/tests/test_stats.py::test_measures[True-kurtosis-kwargs2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[True-kurtosis-kwargs2] dask/array/tests/test_stats.py::test_measures[False-skew-kwargs0] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[False-skew-kwargs0] dask/array/tests/test_stats.py::test_measures[False-kurtosis-kwargs1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[False-kurtosis-kwargs1] dask/array/tests/test_stats.py::test_measures[False-kurtosis-kwargs2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_measures[False-kurtosis-kwargs2] dask/array/tests/test_stats.py::test_bias_raises [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_bias_raises dask/array/tests/test_stats.py::test_one[chisquare] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_one[chisquare] dask/array/tests/test_stats.py::test_one[power_divergence] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_one[power_divergence] dask/array/tests/test_stats.py::test_one[normaltest] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-0] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_one[normaltest] dask/array/tests/test_stats.py::test_one[skewtest] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_one[skewtest] dask/array/tests/test_stats.py::test_one[kurtosistest] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_one[kurtosistest] dask/array/tests/test_stats.py::test_two[ttest_ind-kwargs0] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-columns] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[ttest_ind-kwargs0] dask/array/tests/test_stats.py::test_two[ttest_ind-kwargs1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[ttest_ind-kwargs1] dask/array/tests/test_stats.py::test_two[ttest_1samp-kwargs2] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-1] [gw1] [ 31%] XFAIL dask/array/tests/test_stats.py::test_two[ttest_1samp-kwargs2] dask/array/tests/test_stats.py::test_two[ttest_rel-kwargs3] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[ttest_rel-kwargs3] dask/array/tests/test_stats.py::test_two[chisquare-kwargs4] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[chisquare-kwargs4] dask/array/tests/test_stats.py::test_two[power_divergence-kwargs5] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[power_divergence-kwargs5] dask/array/tests/test_stats.py::test_two[power_divergence-kwargs6] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[power_divergence-kwargs6] dask/array/tests/test_stats.py::test_two[power_divergence-kwargs7] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[power_divergence-kwargs7] dask/array/tests/test_stats.py::test_two[power_divergence-kwargs8] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-index] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_two[power_divergence-kwargs8] dask/array/tests/test_stats.py::test_moments[0] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_moments[0] dask/array/tests/test_stats.py::test_moments[1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_moments[1] dask/array/tests/test_stats.py::test_moments[2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_moments[2] dask/array/tests/test_stats.py::test_moments[3] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_moments[3] dask/array/tests/test_stats.py::test_moments[4] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_moments[4] dask/array/tests/test_stats.py::test_anova [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_anova dask/array/tests/test_stats.py::test_nan_raises[omit-ttest_1samp-2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-ttest_1samp-2] dask/array/tests/test_stats.py::test_nan_raises[omit-ttest_rel-2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-ttest_rel-2] dask/array/tests/test_stats.py::test_nan_raises[omit-skewtest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-skewtest-1] dask/array/tests/test_stats.py::test_nan_raises[omit-kurtosis-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-kurtosis-1] dask/array/tests/test_stats.py::test_nan_raises[omit-kurtosistest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-kurtosistest-1] dask/array/tests/test_stats.py::test_nan_raises[omit-normaltest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-normaltest-1] dask/array/tests/test_stats.py::test_nan_raises[omit-moment-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[omit-moment-1] dask/array/tests/test_stats.py::test_nan_raises[raise-ttest_1samp-2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-ttest_1samp-2] dask/array/tests/test_stats.py::test_nan_raises[raise-ttest_rel-2] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-ttest_rel-2] dask/array/tests/test_stats.py::test_nan_raises[raise-skewtest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-skewtest-1] dask/array/tests/test_stats.py::test_nan_raises[raise-kurtosis-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-kurtosis-1] dask/array/tests/test_stats.py::test_nan_raises[raise-kurtosistest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-kurtosistest-1] dask/array/tests/test_stats.py::test_nan_raises[raise-normaltest-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-normaltest-1] dask/array/tests/test_stats.py::test_nan_raises[raise-moment-1] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_nan_raises[raise-moment-1] dask/array/tests/test_stats.py::test_power_divergence_invalid [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_power_divergence_invalid dask/array/tests/test_stats.py::test_skew_raises [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_skew_raises dask/array/tests/test_stats.py::test_skew_single_return_type [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_skew_single_return_type dask/array/tests/test_stats.py::test_kurtosis_single_return_type [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-0] [gw1] [ 31%] PASSED dask/array/tests/test_stats.py::test_kurtosis_single_return_type dask/array/tests/test_svg.py::test_basic [gw1] [ 31%] PASSED dask/array/tests/test_svg.py::test_basic dask/array/tests/test_svg.py::test_repr_html [gw1] [ 31%] SKIPPED dask/array/tests/test_svg.py::test_repr_html dask/array/tests/test_svg.py::test_errors [gw1] [ 31%] PASSED dask/array/tests/test_svg.py::test_errors dask/array/tests/test_svg.py::test_repr_html_size_units [gw1] [ 31%] SKIPPED dask/array/tests/test_svg.py::test_repr_html_size_units dask/array/tests/test_svg.py::test_draw_sizes [gw1] [ 31%] PASSED dask/array/tests/test_svg.py::test_draw_sizes dask/array/tests/test_svg.py::test_too_many_lines_fills_sides_darker [gw1] [ 31%] PASSED dask/array/tests/test_svg.py::test_too_many_lines_fills_sides_darker dask/array/tests/test_svg.py::test_3d [gw1] [ 31%] PASSED dask/array/tests/test_svg.py::test_3d dask/array/tests/test_testing.py::test_assert_eq_checks_scalars [gw1] [ 31%] PASSED dask/array/tests/test_testing.py::test_assert_eq_checks_scalars dask/array/tests/test_ufunc.py::test_ufunc_meta[log] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_meta[log] dask/array/tests/test_ufunc.py::test_ufunc_meta[modf] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_meta[modf] dask/array/tests/test_ufunc.py::test_ufunc_meta[frexp] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_meta[frexp] dask/array/tests/test_ufunc.py::test_ufunc [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_ufunc dask/array/tests/test_ufunc.py::test_unary_ufunc[abs] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[abs] dask/array/tests/test_ufunc.py::test_unary_ufunc[absolute] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[absolute] dask/array/tests/test_ufunc.py::test_unary_ufunc[arccos] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arccos] dask/array/tests/test_ufunc.py::test_unary_ufunc[arccosh] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arccosh] dask/array/tests/test_ufunc.py::test_unary_ufunc[arcsin] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-columns] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arcsin] dask/array/tests/test_ufunc.py::test_unary_ufunc[arcsinh] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arcsinh] dask/array/tests/test_ufunc.py::test_unary_ufunc[arctan] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arctan] dask/array/tests/test_ufunc.py::test_unary_ufunc[arctanh] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[arctanh] dask/array/tests/test_ufunc.py::test_unary_ufunc[bitwise_not] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[bitwise_not] dask/array/tests/test_ufunc.py::test_unary_ufunc[cbrt] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-1] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[cbrt] dask/array/tests/test_ufunc.py::test_unary_ufunc[ceil] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[ceil] dask/array/tests/test_ufunc.py::test_unary_ufunc[conj] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[conj] dask/array/tests/test_ufunc.py::test_unary_ufunc[cos] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[cos] dask/array/tests/test_ufunc.py::test_unary_ufunc[cosh] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[cosh] dask/array/tests/test_ufunc.py::test_unary_ufunc[deg2rad] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[deg2rad] dask/array/tests/test_ufunc.py::test_unary_ufunc[degrees] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-index] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[degrees] dask/array/tests/test_ufunc.py::test_unary_ufunc[exp] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[exp] dask/array/tests/test_ufunc.py::test_unary_ufunc[exp2] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[exp2] dask/array/tests/test_ufunc.py::test_unary_ufunc[expm1] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[expm1] dask/array/tests/test_ufunc.py::test_unary_ufunc[fabs] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[fabs] dask/array/tests/test_ufunc.py::test_unary_ufunc[fix] [gw1] [ 31%] SKIPPED dask/array/tests/test_ufunc.py::test_unary_ufunc[fix] dask/array/tests/test_ufunc.py::test_unary_ufunc[floor] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[floor] dask/array/tests/test_ufunc.py::test_unary_ufunc[invert] [gw0] [ 31%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-0] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[invert] dask/array/tests/test_ufunc.py::test_unary_ufunc[isfinite] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[isfinite] dask/array/tests/test_ufunc.py::test_unary_ufunc[isinf] [gw1] [ 31%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[isinf] dask/array/tests/test_ufunc.py::test_unary_ufunc[isnan] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[isnan] dask/array/tests/test_ufunc.py::test_unary_ufunc[log] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[log] dask/array/tests/test_ufunc.py::test_unary_ufunc[log10] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[log10] dask/array/tests/test_ufunc.py::test_unary_ufunc[log1p] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[log1p] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-1] dask/array/tests/test_ufunc.py::test_unary_ufunc[log2] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[log2] dask/array/tests/test_ufunc.py::test_unary_ufunc[logical_not] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[logical_not] dask/array/tests/test_ufunc.py::test_unary_ufunc[negative] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[negative] dask/array/tests/test_ufunc.py::test_unary_ufunc[positive] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[positive] dask/array/tests/test_ufunc.py::test_unary_ufunc[rad2deg] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[rad2deg] dask/array/tests/test_ufunc.py::test_unary_ufunc[radians] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-index] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[radians] dask/array/tests/test_ufunc.py::test_unary_ufunc[reciprocal] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[reciprocal] dask/array/tests/test_ufunc.py::test_unary_ufunc[rint] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[rint] dask/array/tests/test_ufunc.py::test_unary_ufunc[sign] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[sign] dask/array/tests/test_ufunc.py::test_unary_ufunc[signbit] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[signbit] dask/array/tests/test_ufunc.py::test_unary_ufunc[sin] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[sin] dask/array/tests/test_ufunc.py::test_unary_ufunc[sinh] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-0] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[sinh] dask/array/tests/test_ufunc.py::test_unary_ufunc[spacing] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[spacing] dask/array/tests/test_ufunc.py::test_unary_ufunc[sqrt] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[sqrt] dask/array/tests/test_ufunc.py::test_unary_ufunc[square] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[square] dask/array/tests/test_ufunc.py::test_unary_ufunc[tan] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[tan] dask/array/tests/test_ufunc.py::test_unary_ufunc[tanh] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[tanh] dask/array/tests/test_ufunc.py::test_unary_ufunc[trunc] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unary_ufunc[trunc] dask/array/tests/test_ufunc.py::test_binary_ufunc[add] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[add] dask/array/tests/test_ufunc.py::test_binary_ufunc[arctan2] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[arctan2] dask/array/tests/test_ufunc.py::test_binary_ufunc[copysign] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[copysign] dask/array/tests/test_ufunc.py::test_binary_ufunc[divide] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[divide] dask/array/tests/test_ufunc.py::test_binary_ufunc[equal] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[equal] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-index] dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_and] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_and] dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_or] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_or] dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_xor] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-0] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[bitwise_xor] dask/array/tests/test_ufunc.py::test_binary_ufunc[floor_divide] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[floor_divide] dask/array/tests/test_ufunc.py::test_binary_ufunc[fmax] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[fmax] dask/array/tests/test_ufunc.py::test_binary_ufunc[fmin] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[fmin] dask/array/tests/test_ufunc.py::test_binary_ufunc[fmod] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[fmod] dask/array/tests/test_ufunc.py::test_binary_ufunc[greater] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[greater] dask/array/tests/test_ufunc.py::test_binary_ufunc[greater_equal] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[greater_equal] dask/array/tests/test_ufunc.py::test_binary_ufunc[hypot] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[hypot] dask/array/tests/test_ufunc.py::test_binary_ufunc[ldexp] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[ldexp] dask/array/tests/test_ufunc.py::test_binary_ufunc[left_shift] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-index] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[left_shift] dask/array/tests/test_ufunc.py::test_binary_ufunc[less] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[less] dask/array/tests/test_ufunc.py::test_binary_ufunc[less_equal] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[less_equal] dask/array/tests/test_ufunc.py::test_binary_ufunc[logaddexp] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-0] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[logaddexp] dask/array/tests/test_ufunc.py::test_binary_ufunc[logaddexp2] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[logaddexp2] dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_and] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_and] dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_or] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_or] dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_xor] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[logical_xor] dask/array/tests/test_ufunc.py::test_binary_ufunc[maximum] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[maximum] dask/array/tests/test_ufunc.py::test_binary_ufunc[minimum] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-index] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[minimum] dask/array/tests/test_ufunc.py::test_binary_ufunc[mod] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[mod] dask/array/tests/test_ufunc.py::test_binary_ufunc[multiply] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[multiply] dask/array/tests/test_ufunc.py::test_binary_ufunc[nextafter] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[nextafter] dask/array/tests/test_ufunc.py::test_binary_ufunc[not_equal] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[not_equal] dask/array/tests/test_ufunc.py::test_binary_ufunc[power] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[power] dask/array/tests/test_ufunc.py::test_binary_ufunc[remainder] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-0] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[remainder] dask/array/tests/test_ufunc.py::test_binary_ufunc[right_shift] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[right_shift] dask/array/tests/test_ufunc.py::test_binary_ufunc[subtract] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[subtract] dask/array/tests/test_ufunc.py::test_binary_ufunc[true_divide] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[true_divide] dask/array/tests/test_ufunc.py::test_binary_ufunc[float_power] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_binary_ufunc[float_power] dask/array/tests/test_ufunc.py::test_ufunc_outer [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_outer dask/array/tests/test_ufunc.py::test_complex[isreal] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_complex[isreal] dask/array/tests/test_ufunc.py::test_complex[iscomplex] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-index] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_complex[iscomplex] dask/array/tests/test_ufunc.py::test_complex[real] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-0] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_complex[real] dask/array/tests/test_ufunc.py::test_complex[imag] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_complex[imag] dask/array/tests/test_ufunc.py::test_ufunc_2results[frexp] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_2results[frexp] dask/array/tests/test_ufunc.py::test_ufunc_2results[modf] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_2results[modf] dask/array/tests/test_ufunc.py::test_clip [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_clip dask/array/tests/test_ufunc.py::test_angle [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_angle dask/array/tests/test_ufunc.py::test_issignedinf [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_issignedinf dask/array/tests/test_ufunc.py::test_non_ufunc_others[i0] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-index] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_non_ufunc_others[i0] dask/array/tests/test_ufunc.py::test_non_ufunc_others[sinc] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_non_ufunc_others[sinc] dask/array/tests/test_ufunc.py::test_non_ufunc_others[nan_to_num] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_non_ufunc_others[nan_to_num] dask/array/tests/test_ufunc.py::test_frompyfunc [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_frompyfunc dask/array/tests/test_ufunc.py::test_frompyfunc_wrapper [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_frompyfunc_wrapper dask/array/tests/test_ufunc.py::test_array_ufunc [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_array_ufunc dask/array/tests/test_ufunc.py::test_array_ufunc_binop [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_array_ufunc_binop dask/array/tests/test_ufunc.py::test_array_ufunc_out [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_array_ufunc_out dask/array/tests/test_ufunc.py::test_unsupported_ufunc_methods [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_unsupported_ufunc_methods dask/array/tests/test_ufunc.py::test_out_numpy [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_out_numpy dask/array/tests/test_ufunc.py::test_out_shape_mismatch [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_out_shape_mismatch dask/array/tests/test_ufunc.py::test_divmod [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-0] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_divmod dask/array/tests/test_ufunc.py::test_dtype_kwarg[float64] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_dtype_kwarg[float64] dask/array/tests/test_ufunc.py::test_dtype_kwarg[float32] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_dtype_kwarg[float32] dask/array/tests/test_ufunc.py::test_dtype_kwarg[int32] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_dtype_kwarg[int32] dask/array/tests/test_ufunc.py::test_dtype_kwarg[int64] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_dtype_kwarg[int64] dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-False-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[True-True-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-True-None] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-columns] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-False-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[False-True-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-False-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[numpy-True-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-True-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-False-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-False-None] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-False-None] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-False-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-False-f8] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-True-None] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-1] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-True-None] dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-True-f8] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where[dask-True-True-f8] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-False-False] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-False-False] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-False-True] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-False-True] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-True-False] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-True-False] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-True-True] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[False-True-True] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-False-False] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-False-False] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-False-True] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-False-True] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-True-False] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-True-False] dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-True-True] [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_broadcasts[True-True-True] dask/array/tests/test_ufunc.py::test_ufunc_where_no_out [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_no_out dask/array/tests/test_ufunc.py::test_ufunc_where_doesnt_mutate_out [gw1] [ 32%] PASSED dask/array/tests/test_ufunc.py::test_ufunc_where_doesnt_mutate_out dask/array/tests/test_wrap.py::test_ones [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_ones dask/array/tests/test_wrap.py::test_size_as_list [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_size_as_list dask/array/tests/test_wrap.py::test_singleton_size [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_singleton_size dask/array/tests/test_wrap.py::test_kwargs [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_kwargs dask/array/tests/test_wrap.py::test_full [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_full dask/array/tests/test_wrap.py::test_full_error_nonscalar_fill_value [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_full_error_nonscalar_fill_value dask/array/tests/test_wrap.py::test_full_detects_da_dtype [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_full_detects_da_dtype dask/array/tests/test_wrap.py::test_full_none_dtype [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_full_none_dtype dask/array/tests/test_wrap.py::test_full_like_error_nonscalar_fill_value [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_full_like_error_nonscalar_fill_value dask/array/tests/test_wrap.py::test_can_make_really_big_array_of_ones [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_can_make_really_big_array_of_ones dask/array/tests/test_wrap.py::test_wrap_consistent_names [gw1] [ 32%] PASSED dask/array/tests/test_wrap.py::test_wrap_consistent_names dask/bag/tests/test_avro.py::test_onefile_oneblock [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-index] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-0] [gw1] [ 32%] PASSED dask/bag/tests/test_avro.py::test_onefile_oneblock dask/bag/tests/test_avro.py::test_twofile_oneblock [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-columns] [gw1] [ 32%] PASSED dask/bag/tests/test_avro.py::test_twofile_oneblock dask/bag/tests/test_avro.py::test_twofile_multiblock [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-1] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-index] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-0] [gw1] [ 32%] PASSED dask/bag/tests/test_avro.py::test_twofile_multiblock dask/bag/tests/test_avro.py::test_roundtrip_simple [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-columns] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-1] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-index] [gw0] [ 32%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_avro.py::test_roundtrip_simple dask/bag/tests/test_avro.py::test_roundtrip[null] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-1] [gw1] [ 33%] PASSED dask/bag/tests/test_avro.py::test_roundtrip[null] dask/bag/tests/test_avro.py::test_roundtrip[deflate] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-0] [gw1] [ 33%] PASSED dask/bag/tests/test_avro.py::test_roundtrip[deflate] dask/bag/tests/test_avro.py::test_roundtrip[snappy] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-0] [gw1] [ 33%] PASSED dask/bag/tests/test_avro.py::test_roundtrip[snappy] dask/bag/tests/test_avro.py::test_invalid_schema [gw1] [ 33%] PASSED dask/bag/tests/test_avro.py::test_invalid_schema dask/bag/tests/test_bag.py::test_Bag [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_Bag dask/bag/tests/test_bag.py::test_keys [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_keys dask/bag/tests/test_bag.py::test_bag_groupby_pure_hash [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_pure_hash dask/bag/tests/test_bag.py::test_bag_groupby_normal_hash [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_normal_hash dask/bag/tests/test_bag.py::test_bag_groupby_none[synchronous-disk] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-0] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_none[synchronous-disk] dask/bag/tests/test_bag.py::test_bag_groupby_none[synchronous-tasks] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_none[synchronous-tasks] dask/bag/tests/test_bag.py::test_bag_groupby_none[processes-disk] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_none[processes-disk] dask/bag/tests/test_bag.py::test_bag_groupby_none[processes-tasks] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_none[processes-tasks] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-disk-none_field] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-index] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-disk-none_field] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-disk-no_none_fields] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-disk-no_none_fields] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-tasks-none_field] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-0] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-tasks-none_field] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-tasks-no_none_fields] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[synchronous-tasks-no_none_fields] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-disk-none_field] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-disk-none_field] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-disk-no_none_fields] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-columns] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-disk-no_none_fields] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-tasks-none_field] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-index] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-tasks-none_field] dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-tasks-no_none_fields] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-0] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_groupby_dataclass[processes-tasks-no_none_fields] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-columns] dask/bag/tests/test_bag.py::test_bag_map [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_bag_map dask/bag/tests/test_bag.py::test_map_method [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-1] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_map_method dask/bag/tests/test_bag.py::test_starmap [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-index] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-0] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-columns] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-1] [gw0] [ 33%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-index] [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_starmap dask/bag/tests/test_bag.py::test_filter [gw1] [ 33%] PASSED dask/bag/tests/test_bag.py::test_filter dask/bag/tests/test_bag.py::test_remove [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_remove dask/bag/tests/test_bag.py::test_iter [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_iter dask/bag/tests/test_bag.py::test_repr[str] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_repr[str] dask/bag/tests/test_bag.py::test_repr[repr] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_repr[repr] dask/bag/tests/test_bag.py::test_pluck [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_pluck dask/bag/tests/test_bag.py::test_pluck_with_default [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_pluck_with_default dask/bag/tests/test_bag.py::test_unzip [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_unzip dask/bag/tests/test_bag.py::test_fold [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_fold dask/bag/tests/test_bag.py::test_fold_bag [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_fold_bag dask/bag/tests/test_bag.py::test_distinct [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_distinct dask/bag/tests/test_bag.py::test_distinct_with_key [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_distinct_with_key dask/bag/tests/test_bag.py::test_frequencies [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_frequencies dask/bag/tests/test_bag.py::test_frequencies_sorted [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_frequencies_sorted dask/bag/tests/test_bag.py::test_topk [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_topk dask/bag/tests/test_bag.py::test_topk_with_non_callable_key[1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_topk_with_non_callable_key[1] dask/bag/tests/test_bag.py::test_topk_with_non_callable_key[2] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_topk_with_non_callable_key[2] dask/bag/tests/test_bag.py::test_topk_with_multiarg_lambda [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_topk_with_multiarg_lambda dask/bag/tests/test_bag.py::test_lambdas [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_lambdas dask/bag/tests/test_bag.py::test_reductions dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_reductions dask/bag/tests/test_bag.py::test_reduction_names [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_reduction_names dask/bag/tests/test_bag.py::test_tree_reductions [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_tree_reductions dask/bag/tests/test_bag.py::test_aggregation[1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_aggregation[1] dask/bag/tests/test_bag.py::test_aggregation[3] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_aggregation[3] dask/bag/tests/test_bag.py::test_aggregation[4] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_aggregation[4] dask/bag/tests/test_bag.py::test_non_splittable_reductions[1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_non_splittable_reductions[1] dask/bag/tests/test_bag.py::test_non_splittable_reductions[10] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_non_splittable_reductions[10] dask/bag/tests/test_bag.py::test_std [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_std dask/bag/tests/test_bag.py::test_var [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_var dask/bag/tests/test_bag.py::test_join[identity] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_join[identity] dask/bag/tests/test_bag.py::test_join[delayed] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_join[delayed] dask/bag/tests/test_bag.py::test_join[] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_join[] dask/bag/tests/test_bag.py::test_foldby [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_foldby dask/bag/tests/test_bag.py::test_foldby_tree_reduction [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_foldby_tree_reduction dask/bag/tests/test_bag.py::test_map_partitions [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_map_partitions dask/bag/tests/test_bag.py::test_map_partitions_args_kwargs [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_map_partitions_args_kwargs dask/bag/tests/test_bag.py::test_map_partitions_blockwise [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_map_partitions_blockwise dask/bag/tests/test_bag.py::test_random_sample_size [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_random_sample_size dask/bag/tests/test_bag.py::test_random_sample_prob_range [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_random_sample_prob_range dask/bag/tests/test_bag.py::test_random_sample_repeated_computation [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_random_sample_repeated_computation dask/bag/tests/test_bag.py::test_random_sample_different_definitions [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_random_sample_different_definitions dask/bag/tests/test_bag.py::test_random_sample_random_state [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_random_sample_random_state dask/bag/tests/test_bag.py::test_lazify_task [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_lazify_task dask/bag/tests/test_bag.py::test_lazify_task_legacy [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_lazify_task_legacy dask/bag/tests/test_bag.py::test_lazify [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_lazify dask/bag/tests/test_bag.py::test_take [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_take dask/bag/tests/test_bag.py::test_take_npartitions [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_take_npartitions dask/bag/tests/test_bag.py::test_take_npartitions_warn [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_take_npartitions_warn dask/bag/tests/test_bag.py::test_map_is_lazy [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_map_is_lazy dask/bag/tests/test_bag.py::test_can_use_dict_to_make_concrete [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_can_use_dict_to_make_concrete dask/bag/tests/test_bag.py::test_read_text [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_read_text dask/bag/tests/test_bag.py::test_read_text_large [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-0] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_read_text_large dask/bag/tests/test_bag.py::test_read_text_encoding [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-columns] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-index] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_read_text_encoding dask/bag/tests/test_bag.py::test_read_text_large_gzip [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-1] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_read_text_large_gzip dask/bag/tests/test_bag.py::test_from_sequence [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-index] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_from_sequence dask/bag/tests/test_bag.py::test_from_long_sequence [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-0] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-columns] [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_from_long_sequence dask/bag/tests/test_bag.py::test_from_empty_sequence [gw1] [ 34%] PASSED dask/bag/tests/test_bag.py::test_from_empty_sequence dask/bag/tests/test_bag.py::test_product [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-1] [gw0] [ 34%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_product dask/bag/tests/test_bag.py::test_partition_collect [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_partition_collect dask/bag/tests/test_bag.py::test_groupby [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_groupby dask/bag/tests/test_bag.py::test_groupby_with_indexer [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_groupby_with_indexer dask/bag/tests/test_bag.py::test_groupby_with_npartitions_changed [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_groupby_with_npartitions_changed dask/bag/tests/test_bag.py::test_groupby_with_scheduler_func [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_groupby_with_scheduler_func dask/bag/tests/test_bag.py::test_concat [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_concat dask/bag/tests/test_bag.py::test_flatten [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_flatten dask/bag/tests/test_bag.py::test_concat_after_map [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_concat_after_map dask/bag/tests/test_bag.py::test_args [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_args dask/bag/tests/test_bag.py::test_to_dataframe [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-True-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_dataframe dask/bag/tests/test_bag.py::test_to_textfiles[gz-GzipFile] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles[gz-GzipFile] dask/bag/tests/test_bag.py::test_to_textfiles[bz2-BZ2File] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles[bz2-BZ2File] dask/bag/tests/test_bag.py::test_to_textfiles[-open] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles[-open] dask/bag/tests/test_bag.py::test_to_textfiles_name_function_preserves_order [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_name_function_preserves_order dask/bag/tests/test_bag.py::test_to_textfiles_name_function_warn [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_name_function_warn dask/bag/tests/test_bag.py::test_to_textfiles_encoding [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_encoding dask/bag/tests/test_bag.py::test_to_textfiles_inputs [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_inputs dask/bag/tests/test_bag.py::test_to_textfiles_endlines [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_endlines dask/bag/tests/test_bag.py::test_string_namespace [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_string_namespace dask/bag/tests/test_bag.py::test_string_namespace_with_unicode [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_string_namespace_with_unicode dask/bag/tests/test_bag.py::test_str_empty_split [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_str_empty_split dask/bag/tests/test_bag.py::test_map_with_iterator_function [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_map_with_iterator_function dask/bag/tests/test_bag.py::test_ensure_compute_output_is_concrete [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_ensure_compute_output_is_concrete dask/bag/tests/test_bag.py::test_bag_class_extend [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_bag_class_extend dask/bag/tests/test_bag.py::test_gh715 [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_gh715 dask/bag/tests/test_bag.py::test_bag_compute_forward_kwargs [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_bag_compute_forward_kwargs dask/bag/tests/test_bag.py::test_to_delayed [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_delayed dask/bag/tests/test_bag.py::test_to_delayed_optimize_graph [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_to_delayed_optimize_graph dask/bag/tests/test_bag.py::test_from_delayed [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_from_delayed dask/bag/tests/test_bag.py::test_from_delayed_iterator [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_from_delayed_iterator dask/bag/tests/test_bag.py::test_range [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_range dask/bag/tests/test_bag.py::test_zip[1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_zip[1] dask/bag/tests/test_bag.py::test_zip[7] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_zip[7] dask/bag/tests/test_bag.py::test_zip[10] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_zip[10] dask/bag/tests/test_bag.py::test_zip[28] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_zip[28] dask/bag/tests/test_bag.py::test_repartition_npartitions[1-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[1-1] dask/bag/tests/test_bag.py::test_repartition_npartitions[1-2] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[1-2] dask/bag/tests/test_bag.py::test_repartition_npartitions[1-7] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[1-7] dask/bag/tests/test_bag.py::test_repartition_npartitions[1-11] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[1-11] dask/bag/tests/test_bag.py::test_repartition_npartitions[1-23] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[1-23] dask/bag/tests/test_bag.py::test_repartition_npartitions[2-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[2-1] dask/bag/tests/test_bag.py::test_repartition_npartitions[2-2] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[2-2] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-columns] dask/bag/tests/test_bag.py::test_repartition_npartitions[2-7] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[2-7] dask/bag/tests/test_bag.py::test_repartition_npartitions[2-11] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[2-11] dask/bag/tests/test_bag.py::test_repartition_npartitions[2-23] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[2-23] dask/bag/tests/test_bag.py::test_repartition_npartitions[5-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[5-1] dask/bag/tests/test_bag.py::test_repartition_npartitions[5-2] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[5-2] dask/bag/tests/test_bag.py::test_repartition_npartitions[5-7] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[5-7] dask/bag/tests/test_bag.py::test_repartition_npartitions[5-11] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[5-11] dask/bag/tests/test_bag.py::test_repartition_npartitions[5-23] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[5-23] dask/bag/tests/test_bag.py::test_repartition_npartitions[12-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[12-1] dask/bag/tests/test_bag.py::test_repartition_npartitions[12-2] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[12-2] dask/bag/tests/test_bag.py::test_repartition_npartitions[12-7] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[12-7] dask/bag/tests/test_bag.py::test_repartition_npartitions[12-11] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[12-11] dask/bag/tests/test_bag.py::test_repartition_npartitions[12-23] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[12-23] dask/bag/tests/test_bag.py::test_repartition_npartitions[23-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[23-1] dask/bag/tests/test_bag.py::test_repartition_npartitions[23-2] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[23-2] dask/bag/tests/test_bag.py::test_repartition_npartitions[23-7] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[23-7] dask/bag/tests/test_bag.py::test_repartition_npartitions[23-11] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[23-11] dask/bag/tests/test_bag.py::test_repartition_npartitions[23-23] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_npartitions[23-23] dask/bag/tests/test_bag.py::test_repartition_partition_size[1-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[1-1] dask/bag/tests/test_bag.py::test_repartition_partition_size[2-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[2-1] dask/bag/tests/test_bag.py::test_repartition_partition_size[5-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[5-1] dask/bag/tests/test_bag.py::test_repartition_partition_size[1-2] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[1-2] dask/bag/tests/test_bag.py::test_repartition_partition_size[2-2] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-0] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[2-2] dask/bag/tests/test_bag.py::test_repartition_partition_size[5-2] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[5-2] dask/bag/tests/test_bag.py::test_repartition_partition_size[1-5] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-columns] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[1-5] dask/bag/tests/test_bag.py::test_repartition_partition_size[2-5] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-index] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[2-5] dask/bag/tests/test_bag.py::test_repartition_partition_size[5-5] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-1] [gw1] [ 35%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size[5-5] dask/bag/tests/test_bag.py::test_multiple_repartition_partition_size [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-index] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-0] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-columns] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-1] [gw0] [ 35%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-index] [gw1] [ 35%] FAILED dask/bag/tests/test_bag.py::test_multiple_repartition_partition_size dask/bag/tests/test_bag.py::test_repartition_partition_size_complex_dtypes [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-index] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_repartition_partition_size_complex_dtypes dask/bag/tests/test_bag.py::test_repartition_names [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_repartition_names dask/bag/tests/test_bag.py::test_repartition_input_errors [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_repartition_input_errors dask/bag/tests/test_bag.py::test_accumulate [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_accumulate dask/bag/tests/test_bag.py::test_groupby_tasks [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-index] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks dask/bag/tests/test_bag.py::test_groupby_tasks_names [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks_names dask/bag/tests/test_bag.py::test_groupby_tasks_2[1000-20-100] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks_2[1000-20-100] dask/bag/tests/test_bag.py::test_groupby_tasks_2[12345-234-1042] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks_2[12345-234-1042] dask/bag/tests/test_bag.py::test_groupby_tasks_2[100-1-50] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks_2[100-1-50] dask/bag/tests/test_bag.py::test_groupby_tasks_3 [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_groupby_tasks_3 dask/bag/tests/test_bag.py::test_to_textfiles_empty_partitions [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-0] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_to_textfiles_empty_partitions dask/bag/tests/test_bag.py::test_reduction_empty [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_empty dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[1] dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[2] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[2] dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[4] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_empty_aggregate[4] dask/bag/tests/test_bag.py::test_reduction_with_non_comparable_objects [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_with_non_comparable_objects dask/bag/tests/test_bag.py::test_reduction_with_sparse_matrices[array] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_with_sparse_matrices[array] dask/bag/tests/test_bag.py::test_reduction_with_sparse_matrices[matrix] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reduction_with_sparse_matrices[matrix] dask/bag/tests/test_bag.py::test_empty [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_empty dask/bag/tests/test_bag.py::test_bag_picklable [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_bag_picklable dask/bag/tests/test_bag.py::test_msgpack_unicode [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_msgpack_unicode dask/bag/tests/test_bag.py::test_bag_with_single_callable [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_bag_with_single_callable dask/bag/tests/test_bag.py::test_optimize_fuse_keys [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_optimize_fuse_keys dask/bag/tests/test_bag.py::test_reductions_are_lazy [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_reductions_are_lazy dask/bag/tests/test_bag.py::test_repeated_groupby [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-0] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_repeated_groupby dask/bag/tests/test_bag.py::test_temporary_directory [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_temporary_directory dask/bag/tests/test_bag.py::test_empty_bag [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_empty_bag dask/bag/tests/test_bag.py::test_bag_paths [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_bag_paths dask/bag/tests/test_bag.py::test_map_partitions_arg [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_map_partitions_arg dask/bag/tests/test_bag.py::test_map_keynames [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_map_keynames dask/bag/tests/test_bag.py::test_map_releases_element_references_as_soon_as_possible [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_map_releases_element_references_as_soon_as_possible dask/bag/tests/test_bag.py::test_bagged_array_delayed [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_bagged_array_delayed dask/bag/tests/test_bag.py::test_dask_layers [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_dask_layers dask/bag/tests/test_bag.py::test_dask_layers_to_delayed[False] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_dask_layers_to_delayed[False] dask/bag/tests/test_bag.py::test_dask_layers_to_delayed[True] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_dask_layers_to_delayed[True] dask/bag/tests/test_bag.py::test_to_dataframe_optimize_graph [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_to_dataframe_optimize_graph dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[100] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[100] dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[250] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[250] dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[500] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[500] dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[1000] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_default_partitioning_worker_saturation[1000] dask/bag/tests/test_bag.py::test_npartitions_saturation[100] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_npartitions_saturation[100] dask/bag/tests/test_bag.py::test_npartitions_saturation[250] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_npartitions_saturation[250] dask/bag/tests/test_bag.py::test_npartitions_saturation[500] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_npartitions_saturation[500] dask/bag/tests/test_bag.py::test_npartitions_saturation[1000] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-index] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_npartitions_saturation[1000] dask/bag/tests/test_bag.py::test_map_total_mem_usage [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-1] [gw1] [ 36%] PASSED dask/bag/tests/test_bag.py::test_map_total_mem_usage dask/bag/tests/test_random.py::test_choices_size_exactly_k [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-0] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_size_exactly_k dask/bag/tests/test_random.py::test_choices_k_bigger_than_bag_size [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_k_bigger_than_bag_size dask/bag/tests/test_random.py::test_choices_empty_partition [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-0] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_empty_partition dask/bag/tests/test_random.py::test_choices_k_bigger_than_smallest_partition_size [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-index] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_k_bigger_than_smallest_partition_size dask/bag/tests/test_random.py::test_choices_k_equal_bag_size_with_unbalanced_partitions [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-1] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_k_equal_bag_size_with_unbalanced_partitions dask/bag/tests/test_random.py::test_choices_with_more_bag_partitons [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-0] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_choices_with_more_bag_partitons dask/bag/tests/test_random.py::test_sample_with_more_bag_partitons [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-index] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_with_more_bag_partitons dask/bag/tests/test_random.py::test_sample_size_exactly_k [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-1] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_size_exactly_k dask/bag/tests/test_random.py::test_sample_k_bigger_than_bag_size [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-index] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_k_bigger_than_bag_size dask/bag/tests/test_random.py::test_sample_empty_partition [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-columns] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-1] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_empty_partition dask/bag/tests/test_random.py::test_sample_size_k_bigger_than_smallest_partition_size [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-0] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_size_k_bigger_than_smallest_partition_size dask/bag/tests/test_random.py::test_sample_k_equal_bag_size_with_unbalanced_partitions [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-0] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_k_equal_bag_size_with_unbalanced_partitions dask/bag/tests/test_random.py::test_sample_k_larger_than_partitions [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_k_larger_than_partitions dask/bag/tests/test_random.py::test_weighted_sampling_without_replacement [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_weighted_sampling_without_replacement dask/bag/tests/test_random.py::test_sample_return_bag [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_sample_return_bag dask/bag/tests/test_random.py::test_partitions_are_coerced_to_lists [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-1] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-index] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-0] [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_partitions_are_coerced_to_lists dask/bag/tests/test_random.py::test_reservoir_sample_map_partitions_correctness [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_reservoir_sample_map_partitions_correctness dask/bag/tests/test_random.py::test_reservoir_sample_with_replacement_map_partitions_correctness [gw1] [ 36%] PASSED dask/bag/tests/test_random.py::test_reservoir_sample_with_replacement_map_partitions_correctness dask/bag/tests/test_text.py::test_read_text[None-None-ascii-True] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[None-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[None-None-ascii-False] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[None-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[None-None-utf-8-True] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[None-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[None-None-utf-8-False] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[None-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[zip-None-ascii-True] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[zip-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[zip-None-ascii-False] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[zip-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[zip-None-utf-8-True] [gw0] [ 36%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-columns] [gw1] [ 36%] PASSED dask/bag/tests/test_text.py::test_read_text[zip-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[zip-None-utf-8-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[zip-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[bz2-None-ascii-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[bz2-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[bz2-None-ascii-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[bz2-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[bz2-None-utf-8-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[bz2-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[bz2-None-utf-8-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[bz2-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[gzip-None-ascii-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[gzip-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[gzip-None-ascii-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[gzip-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[gzip-None-utf-8-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[gzip-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[gzip-None-utf-8-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[gzip-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[lzma-None-ascii-True] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[lzma-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[lzma-None-ascii-False] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[lzma-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[lzma-None-utf-8-True] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[lzma-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[lzma-None-utf-8-False] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[lzma-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[xz-None-ascii-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[xz-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[xz-None-ascii-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[xz-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[xz-None-utf-8-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[xz-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[xz-None-utf-8-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[xz-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[snappy-None-ascii-True] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[snappy-None-ascii-True] dask/bag/tests/test_text.py::test_read_text[snappy-None-ascii-False] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[snappy-None-ascii-False] dask/bag/tests/test_text.py::test_read_text[snappy-None-utf-8-True] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[snappy-None-utf-8-True] dask/bag/tests/test_text.py::test_read_text[snappy-None-utf-8-False] [gw1] [ 37%] SKIPPED dask/bag/tests/test_text.py::test_read_text[snappy-None-utf-8-False] dask/bag/tests/test_text.py::test_read_text[None-10 B-ascii-True] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-1] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[None-10 B-ascii-True] dask/bag/tests/test_text.py::test_read_text[None-10 B-ascii-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[None-10 B-ascii-False] dask/bag/tests/test_text.py::test_read_text[None-10 B-utf-8-True] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[None-10 B-utf-8-True] dask/bag/tests/test_text.py::test_read_text[None-10 B-utf-8-False] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text[None-10 B-utf-8-False] dask/bag/tests/test_text.py::test_read_text_unicode_no_collection [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_read_text_unicode_no_collection dask/bag/tests/test_text.py::test_files_per_partition [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-index] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_files_per_partition dask/bag/tests/test_text.py::test_errors [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-0] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_errors dask/bag/tests/test_text.py::test_complex_delimiter [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-columns] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-1] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-index] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-0] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-columns] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-1] [gw1] [ 37%] PASSED dask/bag/tests/test_text.py::test_complex_delimiter dask/bytes/tests/test_bytes_utils.py::test_read_block [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_read_block dask/bytes/tests/test_bytes_utils.py::test_seek_delimiter_endline [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_seek_delimiter_endline dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[c:\\foo\\bar-c:\\foo\\bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[c:\\foo\\bar-c:\\foo\\bar] dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[C:\\\\foo\\bar-C:\\\\foo\\bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[C:\\\\foo\\bar-C:\\\\foo\\bar] dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[c:/foo/bar-c:/foo/bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[c:/foo/bar-c:/foo/bar] dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///c|\\foo\\bar-c:\\foo\\bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///c|\\foo\\bar-c:\\foo\\bar] dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///C|/foo/bar-C:/foo/bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///C|/foo/bar-C:/foo/bar] dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///C:/foo/bar-C:/foo/bar] [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_infer_storage_options_c[file:///C:/foo/bar-C:/foo/bar] dask/bytes/tests/test_bytes_utils.py::test_stringify_path [gw1] [ 37%] PASSED dask/bytes/tests/test_bytes_utils.py::test_stringify_path dask/bytes/tests/test_compression.py::test_files[None-noop_file] [gw1] [ 37%] PASSED dask/bytes/tests/test_compression.py::test_files[None-noop_file] dask/bytes/tests/test_compression.py::test_files[zip-unzip] [gw1] [ 37%] PASSED dask/bytes/tests/test_compression.py::test_files[zip-unzip] dask/bytes/tests/test_compression.py::test_files[bz2-BZ2File] [gw1] [ 37%] PASSED dask/bytes/tests/test_compression.py::test_files[bz2-BZ2File] dask/bytes/tests/test_compression.py::test_files[gzip-] [gw1] [ 37%] PASSED dask/bytes/tests/test_compression.py::test_files[gzip-] dask/bytes/tests/test_compression.py::test_files[lzma-LZMAFile] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_compression.py::test_files[lzma-LZMAFile] dask/bytes/tests/test_compression.py::test_files[xz-LZMAFile] [gw1] [ 37%] PASSED dask/bytes/tests/test_compression.py::test_files[xz-LZMAFile] dask/bytes/tests/test_compression.py::test_files[snappy-SnappyFile] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_compression.py::test_files[snappy-SnappyFile] dask/bytes/tests/test_http.py::test_simple [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-index] [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_simple dask/bytes/tests/test_http.py::test_loc [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_loc dask/bytes/tests/test_http.py::test_fetch_range_with_headers [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_fetch_range_with_headers dask/bytes/tests/test_http.py::test_ops[None] [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_ops[None] dask/bytes/tests/test_http.py::test_ops[99999] [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_ops[99999] dask/bytes/tests/test_http.py::test_ops_blocksize [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_ops_blocksize dask/bytes/tests/test_http.py::test_errors [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_errors dask/bytes/tests/test_http.py::test_files [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_files dask/bytes/tests/test_http.py::test_open_glob [gw1] [ 37%] PASSED dask/bytes/tests/test_http.py::test_open_glob dask/bytes/tests/test_local.py::test_unordered_urlpath_errors [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_unordered_urlpath_errors dask/bytes/tests/test_local.py::test_read_bytes [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes dask/bytes/tests/test_local.py::test_read_bytes_sample_delimiter [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_sample_delimiter dask/bytes/tests/test_local.py::test_parse_sample_bytes [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_parse_sample_bytes dask/bytes/tests/test_local.py::test_read_bytes_no_sample [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_no_sample dask/bytes/tests/test_local.py::test_read_bytes_blocksize_none [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_blocksize_none dask/bytes/tests/test_local.py::test_read_bytes_blocksize_types[5.0] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_blocksize_types[5.0] dask/bytes/tests/test_local.py::test_read_bytes_blocksize_types[5 B] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-0] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_blocksize_types[5 B] dask/bytes/tests/test_local.py::test_read_bytes_blocksize_float_errs [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_blocksize_float_errs dask/bytes/tests/test_local.py::test_read_bytes_include_path [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_include_path dask/bytes/tests/test_local.py::test_with_urls [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_with_urls dask/bytes/tests/test_local.py::test_with_paths [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_with_paths dask/bytes/tests/test_local.py::test_read_bytes_block [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_block dask/bytes/tests/test_local.py::test_read_bytes_delimited [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_read_bytes_delimited dask/bytes/tests/test_local.py::test_compression[None-None] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[None-None] dask/bytes/tests/test_local.py::test_compression[zip-None] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[zip-None] dask/bytes/tests/test_local.py::test_compression[bz2-None] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[bz2-None] dask/bytes/tests/test_local.py::test_compression[gzip-None] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[gzip-None] dask/bytes/tests/test_local.py::test_compression[lzma-None] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_compression[lzma-None] dask/bytes/tests/test_local.py::test_compression[xz-None] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[xz-None] dask/bytes/tests/test_local.py::test_compression[snappy-None] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_compression[snappy-None] dask/bytes/tests/test_local.py::test_compression[None-10] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[None-10] dask/bytes/tests/test_local.py::test_compression[zip-10] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[zip-10] dask/bytes/tests/test_local.py::test_compression[bz2-10] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[bz2-10] dask/bytes/tests/test_local.py::test_compression[gzip-10] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[gzip-10] dask/bytes/tests/test_local.py::test_compression[lzma-10] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_compression[lzma-10] dask/bytes/tests/test_local.py::test_compression[xz-10] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_compression[xz-10] dask/bytes/tests/test_local.py::test_compression[snappy-10] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_compression[snappy-10] dask/bytes/tests/test_local.py::test_open_files [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files dask/bytes/tests/test_local.py::test_open_files_text_mode[utf-8] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_text_mode[utf-8] dask/bytes/tests/test_local.py::test_open_files_text_mode[ascii] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_text_mode[ascii] dask/bytes/tests/test_local.py::test_open_files_compression[None-rt] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[None-rt] dask/bytes/tests/test_local.py::test_open_files_compression[None-rb] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-columns] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[None-rb] dask/bytes/tests/test_local.py::test_open_files_compression[zip-rt] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[zip-rt] dask/bytes/tests/test_local.py::test_open_files_compression[zip-rb] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[zip-rb] dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rt] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rt] dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rb] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[bz2-rb] dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rt] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rt] dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rb] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[gzip-rb] dask/bytes/tests/test_local.py::test_open_files_compression[lzma-rt] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_open_files_compression[lzma-rt] dask/bytes/tests/test_local.py::test_open_files_compression[lzma-rb] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_open_files_compression[lzma-rb] dask/bytes/tests/test_local.py::test_open_files_compression[xz-rt] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[xz-rt] dask/bytes/tests/test_local.py::test_open_files_compression[xz-rb] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_compression[xz-rb] dask/bytes/tests/test_local.py::test_open_files_compression[snappy-rt] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_open_files_compression[snappy-rt] dask/bytes/tests/test_local.py::test_open_files_compression[snappy-rb] [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_open_files_compression[snappy-rb] dask/bytes/tests/test_local.py::test_bad_compression [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_bad_compression dask/bytes/tests/test_local.py::test_not_found [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_not_found dask/bytes/tests/test_local.py::test_names [gw1] [ 37%] SKIPPED dask/bytes/tests/test_local.py::test_names dask/bytes/tests/test_local.py::test_open_files_write[compression_opener0] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_write[compression_opener0] dask/bytes/tests/test_local.py::test_open_files_write[compression_opener1] [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_open_files_write[compression_opener1] dask/bytes/tests/test_local.py::test_pickability_of_lazy_files [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_pickability_of_lazy_files dask/bytes/tests/test_local.py::test_py2_local_bytes [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_py2_local_bytes dask/bytes/tests/test_local.py::test_abs_paths [gw1] [ 37%] PASSED dask/bytes/tests/test_local.py::test_abs_paths dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_optimizing [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_optimizing dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed[None] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed[None] dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed[foo] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed[foo] dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_dask [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-1] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-index] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_dask dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_fusion [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_delayed.py::test_from_delayed_fusion dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[Series-True] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[Series-True] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[Series-False] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[Series-False] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[DataFrame-True] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[DataFrame-True] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[DataFrame-False] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas[DataFrame-False] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_noargs[Series] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_noargs[Series] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_noargs[DataFrame] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_noargs[DataFrame] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty[Series] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty[Series] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty[DataFrame] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty[DataFrame] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_immutable[Series] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_immutable[Series] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_immutable[DataFrame] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_immutable[DataFrame] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_sort_and_different_partitions [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_sort_and_different_partitions dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_sort [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_sort dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_divisions [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-0] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_divisions dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty_projection [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty_projection dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_divisions_duplicated [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_divisions_duplicated dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-7] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-True-7] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-7] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[Series-False-7] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-7] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-True-7] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-7] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions[DataFrame-False-7] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-1-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-1-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-2-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-2-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-6-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-6-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-7-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-True-7-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-1-6] [gw0] [ 37%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-None-0] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-1-6] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-columns] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-2-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-2-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-6-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-6-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-7-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[Series-False-7-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-1-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-1-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-2-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-2-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-6-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-6-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-7-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-True-7-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-1-6] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-1-6] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-2-3] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-2-3] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-6-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-6-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-7-1] [gw1] [ 37%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_chunksize[DataFrame-False-7-1] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions_and_chunksize[Series] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions_and_chunksize[Series] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions_and_chunksize[DataFrame] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_npartitions_and_chunksize[DataFrame] dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_string_option [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_string_option dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_deepcopy [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_deepcopy dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty_chunksize [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_from_pandas.py::test_from_pandas_empty_chunksize dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-0] dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-1] dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-2] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-2] dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-3] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-3] dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-4] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_simplify[-4] dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion[parquet] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion[parquet] dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion[csv] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion[csv] dask/dataframe/dask_expr/io/tests/test_io.py::test_csv_integer_usecols [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_csv_integer_usecols dask/dataframe/dask_expr/io/tests/test_io.py::test_read_csv_keywords [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_read_csv_keywords dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_blockwise [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-index] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_blockwise dask/dataframe/dask_expr/io/tests/test_io.py::test_repartition_io_fusion_blockwise [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_repartition_io_fusion_blockwise dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_merge [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-0] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_merge dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_zero [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_fusion_zero dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[parquet] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-columns] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[parquet] dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[csv] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[csv] dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[pandas] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_io_culling[pandas] dask/dataframe/dask_expr/io/tests/test_io.py::test_parquet_complex_filters [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_parquet_complex_filters dask/dataframe/dask_expr/io/tests/test_io.py::test_to_dask_array[True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_to_dask_array[True] dask/dataframe/dask_expr/io/tests/test_io.py::test_to_dask_array[False] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_to_dask_array[False] dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[parquet-read_parquet-ReadParquet] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-index] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[parquet-read_parquet-ReadParquet] dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[csv-read_csv-FromMap] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-columns] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[csv-read_csv-FromMap] dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar_no_projection_on_one_branch [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-index] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar_no_projection_on_one_branch dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-None-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-None-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-0] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-None-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-foo-True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-columns] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-foo-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-foo-False] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-True-foo-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-None-True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-None-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-index] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-None-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-foo-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-foo-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-foo-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-0] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[True-False-foo-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-None-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-None-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-columns] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-None-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-foo-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-foo-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-foo-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-True-foo-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-None-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-None-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-index] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-None-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-foo-True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-foo-True] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-foo-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-0] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map[False-False-foo-False] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map_columns_required [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map_columns_required dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map_string_conversion [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_map_string_conversion dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-columns] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_string_conersion[object] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_string_conersion[object] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_string_conersion[str] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_string_conersion[str] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_scalar_columns[1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_scalar_columns[1] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_scalar_columns[aa] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_scalar_columns[aa] dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_projection [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dask_array_projection dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dict [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_dict dask/dataframe/dask_expr/io/tests/test_io.py::test_normalize_token_parquet_filemetadata_and_schema[filemetadata] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_normalize_token_parquet_filemetadata_and_schema[filemetadata] dask/dataframe/dask_expr/io/tests/test_io.py::test_normalize_token_parquet_filemetadata_and_schema[schema] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_normalize_token_parquet_filemetadata_and_schema[schema] dask/dataframe/dask_expr/io/tests/test_io.py::test_to_records_with_lengths[lengths0] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_to_records_with_lengths[lengths0] dask/dataframe/dask_expr/io/tests/test_io.py::test_to_records_with_lengths[True] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_to_records_with_lengths[True] dask/dataframe/dask_expr/io/tests/test_io.py::test_to_bag [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-1] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_to_bag dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_partition_pruning [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_io.py::test_from_array_partition_pruning dask/dataframe/dask_expr/io/tests/test_io.py::test_map_partitions_assign_fusedio [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-0] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_map_partitions_assign_fusedio dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len[arrow] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len[arrow] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_missing_stats[arrow] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_missing_stats[arrow] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_all_na_column[arrow-nan] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_all_na_column[arrow-nan] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_all_na_column[arrow-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_all_na_column[arrow-1] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len_filter[arrow] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len_filter[arrow] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len_empty_dir [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_parquet_len_empty_dir dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-1] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[True] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-index] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-0] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[False] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[pyarrow] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[pyarrow] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[numpy_nullable] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[numpy_nullable] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[None] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_dtype_backend[None] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_types_mapper[None] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-columns] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_types_mapper[None] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_types_mapper[] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_types_mapper[] dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_serialize [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_serialize dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_filters [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_filters dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_list_of_files [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_pyarrow_filesystem_list_of_files dask/dataframe/dask_expr/io/tests/test_parquet.py::test_partition_pruning [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_partition_pruning dask/dataframe/dask_expr/io/tests/test_parquet.py::test_predicate_pushdown [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-1] [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_predicate_pushdown dask/dataframe/dask_expr/io/tests/test_parquet.py::test_predicate_pushdown_compound [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_predicate_pushdown_compound dask/dataframe/dask_expr/io/tests/test_parquet.py::test_aggregate_rg_stats_to_file [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_aggregate_rg_stats_to_file dask/dataframe/dask_expr/io/tests/test_parquet.py::test_aggregate_statistics_to_file [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_aggregate_statistics_to_file dask/dataframe/dask_expr/io/tests/test_parquet.py::test_combine_statistics [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_combine_statistics dask/dataframe/dask_expr/io/tests/test_parquet.py::test_index_only_from_parquet [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_index_only_from_parquet dask/dataframe/dask_expr/io/tests/test_parquet.py::test_timestamp_divisions [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-index] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_timestamp_divisions dask/dataframe/dask_expr/io/tests/test_parquet.py::test_read_parquet_index_projection [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-0] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-1] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_read_parquet_index_projection dask/dataframe/dask_expr/io/tests/test_sql.py::test_shuffle_after_read_sql [gw1] [ 38%] PASSED dask/dataframe/dask_expr/io/tests/test_sql.py::test_shuffle_after_read_sql dask/dataframe/dask_expr/tests/test_align_partitions.py::test_broadcasting_scalar[__add__] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-index] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_align_partitions.py::test_broadcasting_scalar[__add__] dask/dataframe/dask_expr/tests/test_align_partitions.py::test_broadcasting_scalar[add] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-0] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_align_partitions.py::test_broadcasting_scalar[add] dask/dataframe/dask_expr/tests/test_align_partitions.py::test_assign_align_partitions [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-columns] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-1] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/tests/test_align_partitions.py::test_assign_align_partitions dask/dataframe/dask_expr/tests/test_align_partitions.py::test_assign_unknown_partitions [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_align_partitions.py::test_assign_unknown_partitions dask/dataframe/dask_expr/tests/test_categorical.py::test_set_categories [gw1] [ 38%] PASSED dask/dataframe/dask_expr/tests/test_categorical.py::test_set_categories dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-index] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize dask/dataframe/dask_expr/tests/test_categorical.py::test_get_categories_simplify_adds_projection [gw1] [ 38%] PASSED dask/dataframe/dask_expr/tests/test_categorical.py::test_get_categories_simplify_adds_projection dask/dataframe/dask_expr/tests/test_categorical.py::test_categorical_set_index [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-0] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorical_set_index dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize_drops_category_columns [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-columns] [gw1] [ 38%] FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize_drops_category_columns dask/dataframe/dask_expr/tests/test_collection.py::test_del [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-1] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_del dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-index] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-0] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-None] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-columns] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-None-None] dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-1] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-index] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-None] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-0] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[True-StringIO-None] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-True] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-columns] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-False] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-1] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-None] [gw0] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-index] [gw1] [ 38%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-None-None] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-True] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-False] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-None] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[False-StringIO-None] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-True] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-False] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-None] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-None-None] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-True] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-True] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-False] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-False] dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-None] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_info[None-StringIO-None] dask/dataframe/dask_expr/tests/test_collection.py::test_dont_fuse_from_pandas_ops [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dont_fuse_from_pandas_ops dask/dataframe/dask_expr/tests/test_collection.py::test_column_projection_modify_list [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-columns] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_column_projection_modify_list dask/dataframe/dask_expr/tests/test_collection.py::test_setitem [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_setitem dask/dataframe/dask_expr/tests/test_collection.py::test_set_index_blockwise_culling [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_set_index_blockwise_culling dask/dataframe/dask_expr/tests/test_collection.py::test_set_index_with_divisions_already_known [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-columns] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_set_index_with_divisions_already_known dask/dataframe/dask_expr/tests/test_collection.py::test_explode [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_explode dask/dataframe/dask_expr/tests/test_collection.py::test_explode_simplify [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_explode_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_meta_divisions_name [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_meta_divisions_name dask/dataframe/dask_expr/tests/test_collection.py::test_meta_blockwise [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_meta_blockwise dask/dataframe/dask_expr/tests/test_collection.py::test_dask [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dask dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cumsum] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cumsum] dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cumprod] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cumprod] dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cummin] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cummin] dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cummax] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_cumulative_methods[cummax] dask/dataframe/dask_expr/tests/test_collection.py::test_bool [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_bool dask/dataframe/dask_expr/tests/test_collection.py::test_map_index dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-index] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_map_index dask/dataframe/dask_expr/tests/test_collection.py::test_squeeze [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_squeeze dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown_reducer_in_predicate [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown_reducer_in_predicate dask/dataframe/dask_expr/tests/test_collection.py::test_assign_empty_columns [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_empty_columns dask/dataframe/dask_expr/tests/test_collection.py::test_index_divisions [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_index_divisions dask/dataframe/dask_expr/tests/test_collection.py::test_nbytes [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nbytes dask/dataframe/dask_expr/tests/test_collection.py::test_pop [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_pop dask/dataframe/dask_expr/tests/test_collection.py::test_dot [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-index] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-0] [gw1] [ 39%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_dot dask/dataframe/dask_expr/tests/test_collection.py::test_pipe [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-columns] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_pipe dask/dataframe/dask_expr/tests/test_collection.py::test_mode [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_mode dask/dataframe/dask_expr/tests/test_collection.py::test_value_counts [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_value_counts dask/dataframe/dask_expr/tests/test_collection.py::test_dropna [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna dask/dataframe/dask_expr/tests/test_collection.py::test_value_counts_with_dropna [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-index] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_value_counts_with_dropna dask/dataframe/dask_expr/tests/test_collection.py::test_fillna [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_fillna dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-None] [gw1] [ 39%] XFAIL dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-None] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-1] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-1] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-2] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-ffill-2] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-None] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-0] [gw1] [ 39%] XFAIL dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-None] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-1] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-1] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-2] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[index-bfill-2] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-None] [gw1] [ 39%] XFAIL dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-None] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-1] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-1] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-columns] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-ffill-2] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-None] [gw1] [ 39%] XFAIL dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-None] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-1] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-1] dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-2] [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_and_bfill[0-bfill-2] dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_projections [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_projections dask/dataframe/dask_expr/tests/test_collection.py::test_series_map_meta [gw1] [ 39%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_series_map_meta dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-None-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-None-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-None-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-1h-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-1h-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-1h-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-1h-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-freq2-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-freq2-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-freq2-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[index-freq2-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-None-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-None-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-None-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-1h-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-1h-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-1h-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-1h-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-freq2-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-freq2-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-freq2-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[0-freq2-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-None-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-None-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-None-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-1h-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-1h-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-1h-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-1h-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-freq2-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-freq2-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-freq2-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[columns-freq2-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-None-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-None-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-None-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-1h-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-1h-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-1h-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-1h-2] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-freq2-1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-freq2-1] dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-freq2-2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift[1-freq2-2] dask/dataframe/dask_expr/tests/test_collection.py::test_memory_usage [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_memory_usage dask/dataframe/dask_expr/tests/test_collection.py::test_nlargest_nsmallest[func0] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nlargest_nsmallest[func0] dask/dataframe/dask_expr/tests/test_collection.py::test_nlargest_nsmallest[func1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nlargest_nsmallest[func1] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[0] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[0] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[1] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[1] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[2] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[2] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[3] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[3] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[4] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[4] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[5] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[5] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[6] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[6] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[7] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[7] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[8] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[8] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[9] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[9] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[10] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[10] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[11] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[11] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[12] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[12] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[13] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[13] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[14] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[14] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[15] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[15] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[16] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-0] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[16] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[17] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-columns] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[17] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[18] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-1] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[18] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[19] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-index] [gw1] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[19] dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[20] [gw0] [ 39%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[20] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-index] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-0] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-1] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-None] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-None] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-index] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-0] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-1] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-None] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-None] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-None] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-None] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[0] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[0] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[1] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[1] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[2] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[2] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[3] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[3] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[4] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[4] dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[5] [gw1] [ 40%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_boolean_operators[5] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-0] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-0] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-columns] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-columns] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-1] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-1] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-index] [gw0] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-index] [gw1] [ 40%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-1] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-index] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-0] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-columns] [gw0] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-columns] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec2] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-1] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec3] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-index] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec3] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec4] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-sum] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-0] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_reduction_shuffle [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_reduction_shuffle dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_projection_split_out [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-columns] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-1] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-index] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_projection_split_out dask/dataframe/dask_expr/tests/test_groupby.py::test_numeric_column_names [gw0] [ 41%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_numeric_column_names dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_divisions [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-0] [gw0] [ 41%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_divisions dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_co_aligned_grouper [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_co_aligned_grouper dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-True-var] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-True-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-True-std] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-columns] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-True-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-False-var] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-False-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-False-std] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[True-False-std] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-True-var] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-True-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-True-std] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-True-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-False-var] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-index] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-False-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-False-std] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_var_dropna_observed[False-False-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-columns] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-1] [gw0] [ 41%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_ffill_bfill [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-0] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_ffill_bfill dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-columns] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[0] dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[1] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[1] dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[2] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-1] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group[2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_rolling [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-index] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-0] [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-columns] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_rolling dask/dataframe/dask_expr/tests/test_groupby.py::test_rolling_groupby_projection [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-1] [gw0] [ 41%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_rolling_groupby_projection dask/dataframe/dask_expr/tests/test_groupby.py::test_std_var_slice [gw1] [ 41%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-index] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_std_var_slice dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_error [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_error dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_dir [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_dir dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_udf_user_warning [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_udf_user_warning dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index_array [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-columns] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index_array dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median_numeric_only [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median_numeric_only dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median_series [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_median_series dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-columns] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-0] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-2] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-index] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-2] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-0] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[prod-3] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-0] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-0] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-columns] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-2] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-2] dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-3] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_with_min_count[sum-3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-a-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumsum-key1-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-a-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumprod-key1-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-a-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-a] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-a] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-c] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-c] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-d] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-0] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-d] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-sel3] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-sel3] dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-sel4] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_cumulative[cumcount-key1-sel4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[3-key1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[3-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[3-by1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-index] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[3-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[value-key1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[value-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[value-by1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[value-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key2-key1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-0] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key2-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key2-by1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key2-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key3-key1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-columns] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key3-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key3-by1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key3-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key4-key1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key4-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key4-by1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key4-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key5-key1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key5-key1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key5-by1] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_getitem[slice_key5-by1] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumsum-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumsum-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumsum-2] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumsum-2] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumprod-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumprod-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumprod-2] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-index] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumprod-2] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumcount-1] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-columns] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-1] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumcount-1] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumcount-2] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-index] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-0] [gw1] [ 42%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-columns] [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[cumcount-2] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_not_supported[std] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_not_supported[std] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_not_supported[var] [gw0] [ 42%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_not_supported[var] dask/dataframe/dask_expr/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum [gw0] [ 42%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_size_drop_columns [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-1] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-1] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_size_drop_columns dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_respect_shuffle_context dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-index] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_respect_shuffle_context dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_meta_error [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_meta_error dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_aggregate_series_split_out [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-0] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_aggregate_series_split_out dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_rename_columns [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-columns] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_rename_columns dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group_multiple_keys [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_get_group_multiple_keys dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index_modified_divisions [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index_modified_divisions dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_getitem_apply_group_keys [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-1] [gw0] [ 43%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_getitem_apply_group_keys dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_errors [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_errors dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_slice [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_slice dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_slice [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_slice dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-False] dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-True] dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-False] dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-True] dask/dataframe/dask_expr/tests/test_indexing.py::test_loc [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_non_informative_index [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_non_informative_index dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_series [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_series dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_array [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_array dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_function [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_function dask/dataframe/dask_expr/tests/test_indexing.py::test_getitem_align [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_indexing.py::test_getitem_align dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_bool_cindex [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_bool_cindex dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_slicing [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-1] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_slicing dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_indexing.py::test_reverse_indexing [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_reverse_indexing dask/dataframe/dask_expr/tests/test_indexing.py::test_indexing_element_index [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_indexing.py::test_indexing_element_index dask/dataframe/dask_expr/tests/test_interchange.py::test_interchange_protocol [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_interchange.py::test_interchange_protocol dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_broadcast [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_broadcast dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_merge[True] [gw0] [ 43%] FAILED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_merge[True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_merge[False] [gw0] [ 43%] FAILED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_merge[False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[1] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[1] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[4] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[4] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_raises [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-1] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_raises dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_divisions [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_divisions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_partition_info [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_partition_info dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_provide_meta [gw0] [ 43%] FAILED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_provide_meta dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_errors [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_errors dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_align_dataframes[True] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_align_dataframes[True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_align_dataframes[False] [gw0] [ 43%] PASSED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_align_dataframes[False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-index] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-index] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-0] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-columns] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-1] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] [gw1] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-index] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] [gw0] [ 43%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-1] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-index] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-0] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_propagates_index_metadata [gw0] [ 44%] FAILED dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_propagates_index_metadata dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_token_given [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-columns] [gw0] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_token_given dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-index] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-1] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-index] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[tasks-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-0] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-index] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge[disk-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-left] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-inner] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-index] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-True-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-left] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-inner] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-True-False-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-left] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-inner] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-index] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-True-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-left] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-inner] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-outer] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[tasks-False-False-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-right] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-outer] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-True-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-index] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-right] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-outer] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-True-False-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-right] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-outer] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-True-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-index] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-right] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-outer] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_indexed[disk-False-False-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-left] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-columns] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-1] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-left] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-right] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-index] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-0] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-right] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-inner] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-columns] [gw0] [ 44%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-outer] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-1] [gw1] [ 44%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[None-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-left] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-left] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-right] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-right] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-inner] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-outer] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_broadcast_merge[22-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_column_projection [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_column_projection dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-left] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-left] dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-right] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-columns] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-right] dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-inner] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-outer] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-columns] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_join[tasks-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-left] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-left] dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-right] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-columns] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-right] dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-inner] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-outer] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-0] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_join[disk-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_join_recursive [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join_recursive dask/dataframe/dask_expr/tests/test_merge.py::test_join_recursive_raises [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join_recursive_raises dask/dataframe/dask_expr/tests/test_merge.py::test_singleton_divisions [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-index] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_singleton_divisions dask/dataframe/dask_expr/tests/test_merge.py::test_categorical_merge_does_not_increase_npartitions [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_categorical_merge_does_not_increase_npartitions dask/dataframe/dask_expr/tests/test_merge.py::test_merge_len [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_len dask/dataframe/dask_expr/tests/test_merge.py::test_merge_optimize_subset_strings [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_optimize_subset_strings dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar[2-3] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-1] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar[2-3] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar[1-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-0] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar[1-1] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar_intermediate_projections [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-1] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar_intermediate_projections dask/dataframe/dask_expr/tests/test_merge.py::test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-0] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar_hangs [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_combine_similar_hangs dask/dataframe/dask_expr/tests/test_merge.py::test_recursive_join [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_recursive_join dask/dataframe/dask_expr/tests/test_merge.py::test_merge_repartition [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_repartition dask/dataframe/dask_expr/tests/test_merge.py::test_merge_reparititon_divisions [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_reparititon_divisions dask/dataframe/dask_expr/tests/test_merge.py::test_join_gives_proper_divisions [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join_gives_proper_divisions dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[inner-tasks] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[inner-tasks] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[inner-disk] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[inner-disk] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[left-tasks] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[left-tasks] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[left-disk] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_known_to_single[left-disk] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_empty_left_df[right] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-columns] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_empty_left_df[right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_empty_left_df[outer] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-index] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_empty_left_df[outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_npartitions [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_npartitions dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-inner] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-1] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-outer] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-0] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-left] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-1] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-right] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-0] [gw0] [ 45%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[True-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-inner] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-inner] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-outer] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-left] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-left] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-right] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_columns_dtypes1[False-right] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_pandas_object [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_pandas_object dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-columns] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-index] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-left-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer-True] [gw0] [ 45%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-1] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-left-True] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-0] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-left-False] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-0] [gw0] [ 45%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer-True] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-columns] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-1] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-index] [gw1] [ 45%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-left-True] [gw0] [ 46%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-left-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer-True] [gw0] [ 46%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-left-True] [gw0] [ 46%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-left-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-left-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-index] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-left-False] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer-True] [gw0] [ 46%] SKIPPED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer-True] dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-index] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer-False] dask/dataframe/dask_expr/tests/test_merge.py::test_filter_merge [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-index] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_filter_merge dask/dataframe/dask_expr/tests/test_merge.py::test_filter_merge_suffixes [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_filter_merge_suffixes dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_renaming_columns [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_renaming_columns dask/dataframe/dask_expr/tests/test_merge.py::test_merge_avoid_overeager_filter_pushdown [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-index] [gw0] [ 46%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_avoid_overeager_filter_pushdown dask/dataframe/dask_expr/tests/test_merge.py::test_join_consistent_index_names [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_join_consistent_index_names dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[left] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[left] dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[inner] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[inner] dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[right] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[right] dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[outer] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_isin_filter_pushdown[outer] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_pushdown_broadcast [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_pushdown_broadcast dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_stuck_between_merges [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_stuck_between_merges dask/dataframe/dask_expr/tests/test_merge.py::test_merge_or_two_branches [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_or_two_branches dask/dataframe/dask_expr/tests/test_merge.py::test_merge_or_two_branches_no_pushdown [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_or_two_branches_no_pushdown dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_column_used_multiple_times [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_filter_column_used_multiple_times dask/dataframe/dask_expr/tests/test_merge.py::test_merge_scalar_comparison [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_scalar_comparison dask/dataframe/dask_expr/tests/test_merge.py::test_merge_leftsemi [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_leftsemi dask/dataframe/dask_expr/tests/test_merge.py::test_merge_suffix_projections [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_suffix_projections dask/dataframe/dask_expr/tests/test_merge.py::test_merge_after_rename[True] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_after_rename[True] dask/dataframe/dask_expr/tests/test_merge.py::test_merge_after_rename[False] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_after_rename[False] dask/dataframe/dask_expr/tests/test_merge.py::test_mismatching_meta [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-1] [gw0] [ 46%] FAILED dask/dataframe/dask_expr/tests/test_merge.py::test_mismatching_meta dask/dataframe/dask_expr/tests/test_merge.py::test_merge_tuple_left_on [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merge_tuple_left_on dask/dataframe/dask_expr/tests/test_merge.py::test_merged_partitions_filtered [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge.py::test_merged_partitions_filtered dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_indexed [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_indexed dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_indexed_optimiser [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_indexed_optimiser dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_on_basic [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_on_basic dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_one_partition [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_merge_asof.py::test_merge_asof_one_partition dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_groupby_implicit_divisions [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-columns] [gw0] [ 46%] XFAIL dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_groupby_implicit_divisions dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_groupby_avoid_shuffle [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_groupby_avoid_shuffle dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[0] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[1] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[2] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[2] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[3] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[3] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[4] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[4] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[5] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[5] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[6] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[6] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[7] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_when_necessary[7] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[0] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[1] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[2] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[2] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[3] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[3] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[4] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[4] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[5] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[5] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[6] [gw0] [ 46%] FAILED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[6] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[7] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-columns] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-1] [gw0] [ 46%] FAILED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[7] dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_repartition [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_repartition dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_avoid_shuffle [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_avoid_shuffle dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_shuffle_if_different_order [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_shuffle_if_different_order dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_after_only_blockwise_merge [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_shuffle_after_only_blockwise_merge dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_on_top_of_lowered_shuffle [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_on_top_of_lowered_shuffle dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_groupby_to_frame [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-0] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-columns] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_merge_groupby_to_frame dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-1] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters_query [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters_query dask/dataframe/dask_expr/tests/test_quantiles.py::test_repartition_quantiles [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-index] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_quantiles.py::test_repartition_quantiles dask/dataframe/dask_expr/tests/test_reductions.py::test_median [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-0] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_median dask/dataframe/dask_expr/tests/test_reductions.py::test_min_dt [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-columns] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_min_dt dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series0] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series1] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series2] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series2] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series3] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series3] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series4] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-False-series4] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series0] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series1] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series2] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series2] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series3] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series3] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series4] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Series-True-series4] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series0] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series1] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series2] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series2] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series3] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series3] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series4] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-False-series4] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series0] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series0] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series1] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series1] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series2] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series2] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series3] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series3] dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series4] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_monotonic[Index-True-series4] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-False] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-False] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-index] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-5] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-False] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-0] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-False] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-columns] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-5] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_reduction_name [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-1] [gw0] [ 46%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_reduction_name dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-False] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-False] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-index] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-5] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-0] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-False] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-False] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-columns] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-5] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_sort [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-1] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_sort dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-index] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-5] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-None] [gw1] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-0] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-None] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-5] [gw0] [ 46%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-5] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-sum] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-prod] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-max] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-any] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-any] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-all] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-sum] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-prod] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-max] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-any] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-all] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-count] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-sum] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-prod] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-min] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-max] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-index] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-any] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-all] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-sum] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-prod] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-max] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-any] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-all] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[False-53] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[False-53] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[None-57] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[None-57] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[5-57] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[5-57] dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[2-73] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[2-73] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-sum] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-prod] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-max] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-any] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-all] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-mode] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-mode] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-count] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-sum] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-prod] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-max] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-any] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-all] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-mode] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-mode] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-sum] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-prod] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-max] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-any] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-all] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-mode] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-mode] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-sum] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-prod] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-min] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-min] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-max] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-max] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-any] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-any] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-all] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-all] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-mode] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-mode] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-count] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-count] dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_with_strings [gw0] [ 47%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_with_strings dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count--1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx--1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique--1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts--1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts--1] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-0] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-1] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-1] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-index] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[None] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[None] dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[False] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-0] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[False] dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[2] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[2] dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[10] [gw1] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-columns] [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[10] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_base [gw0] [ 47%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_base dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_split_out_normalize [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_split_out_normalize dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-sum] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-prod] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-product] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[0-product] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-sum] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-sum] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-prod] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-prod] dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-product] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_series_agg_with_min_count[9-product] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-index] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func0] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func1] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func2] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-0] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func2] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func3] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func3] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func4] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func4] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func5] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func5] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func6] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-index] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func6] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func7] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func7] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func8] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-0] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func8] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func9] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func9] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func10] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func10] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func11] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func11] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func12] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func12] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func13] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-index] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func13] dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-0] [gw0] [ 48%] XFAIL dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[] dask/dataframe/dask_expr/tests/test_reductions.py::test_skew_kurt [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_skew_kurt dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func0] dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func1] dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func2] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func2] dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func3] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-index] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func3] dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-0] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func1] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func2] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func2] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func3] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-index] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func3] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func4] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func4] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func5] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-0] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func5] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func6] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func6] dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func7] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func7] dask/dataframe/dask_expr/tests/test_reductions.py::test_cov_corr [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-1] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_cov_corr dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_on_empty_df [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_on_empty_df dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-True-0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-index] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-True-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-True-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-True-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-False-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-False-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-False-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[1-False-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-True-0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-True-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-True-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-True-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-False-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-False-0] dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-False-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_std_kwargs[2-False-1] dask/dataframe/dask_expr/tests/test_reductions.py::test_mean_series_axis_none [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-columns] [gw0] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_mean_series_axis_none dask/dataframe/dask_expr/tests/test_reductions.py::test_mode_numeric_only [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_mode_numeric_only dask/dataframe/dask_expr/tests/test_reductions.py::test_divmod [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_divmod dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_with_normalize [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-index] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_with_normalize dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_method [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_method dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_method_split_every [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_method_split_every dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_split_every_false [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_split_every_false dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[0] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[1] dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[2] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-columns] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_numerical_columns[2] dask/dataframe/dask_expr/tests/test_reductions.py::test_cat_value_counts_large_unknown_categories [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-index] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reductions.py::test_cat_value_counts_large_unknown_categories dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions_timestamps_display [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions_timestamps_display dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_shuffle_properly [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_shuffle_properly dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-0] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs0] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-columns] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-1] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs1] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs2] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-index] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-0] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs2] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs3] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-columns] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-1] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_combine_similar[kwargs3] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[tuple] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[tuple] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[list] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_noop[list] dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_freq [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_freq dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_freq_errors [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_freq_errors dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_npartitions_numeric_edge_case [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_npartitions_numeric_edge_case dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_empty_partitions_dtype [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_empty_partitions_dtype dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_filter_pushdown [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_filter_pushdown dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_unknown_divisions [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_repartition.py::test_repartition_unknown_divisions dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[first] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-index] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-columns] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[first] dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[last] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-index] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-0] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[last] dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[sum] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-columns] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[sum] dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[mean] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-index] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[mean] dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[count] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-columns] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table[count] dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table_fails [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-1] [gw0] [ 48%] FAILED dask/dataframe/dask_expr/tests/test_reshape.py::test_pivot_table_fails dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-count-how_args0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-mean-how_args1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-index] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-sum-how_args2] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-min-how_args3] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-max-how_args4] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-var-how_args5] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-var-how_args6] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-std-how_args7] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-std-how_args8] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-median-how_args9] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-skew-how_args10] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-quantile-how_args11] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-kurt-how_args12] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-count-how_args0] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-columns] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-mean-how_args1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-sum-how_args2] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-min-how_args3] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-max-how_args4] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-var-how_args5] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-var-how_args6] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-std-how_args7] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-1] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-std-how_args8] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-median-how_args9] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-skew-how_args10] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-quantile-how_args11] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-kurt-how_args12] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-1-None-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-count-how_args0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-mean-how_args1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-index] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-sum-how_args2] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-min-how_args3] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-max-how_args4] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-var-how_args5] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-var-how_args6] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-std-how_args7] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-std-how_args8] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-median-how_args9] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-skew-how_args10] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-quantile-how_args11] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-kurt-how_args12] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-count-how_args0] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-mean-how_args1] [gw1] [ 48%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-columns] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-sum-how_args2] [gw0] [ 48%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-std-how_args7] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-2-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-count-how_args0] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-min-how_args3] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-std-how_args8] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-min-how_args3] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-True-3-3-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-sum-how_args2] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-std-how_args8] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-sum-how_args2] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-std-how_args8] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-1-None-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-mean-how_args1] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-std-how_args7] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-count-how_args0] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-var-how_args6] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-quantile-how_args11] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-2-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-max-how_args4] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-skew-how_args10] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-sum-how_args2] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-std-how_args8] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[1-False-3-3-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-mean-how_args1] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-min-how_args3] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-var-how_args6] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-quantile-how_args11] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-count-how_args0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-sum-how_args2] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-min-how_args3] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-var-how_args6] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-std-how_args8] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-0] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-median-how_args9] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-skew-how_args10] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-quantile-how_args11] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-kurt-how_args12] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-1-None-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-count-how_args0] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-columns] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-mean-how_args1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-sum-how_args2] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-min-how_args3] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-1] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-max-how_args4] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-var-how_args5] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-var-how_args6] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-index] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-std-how_args7] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-std-how_args8] [gw0] [ 49%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-median-how_args9] [gw1] [ 49%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-True-kurt-how_args12] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-count-how_args0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-min-how_args3] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-var-how_args5] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-var-how_args6] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-median-how_args9] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-2-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-count-how_args0] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-min-how_args3] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-var-how_args5] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-var-how_args6] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-skew-how_args10] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-min-how_args3] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-var-how_args5] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-var-how_args6] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-median-how_args9] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-True-3-3-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-count-how_args0] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-min-how_args3] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-var-how_args5] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-var-how_args6] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-skew-how_args10] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-mean-how_args1] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-min-how_args3] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-var-how_args5] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-var-how_args6] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-std-how_args7] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-kurt-how_args12] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-1-None-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-sum-how_args2] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-min-how_args3] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-var-how_args5] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-var-how_args6] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-std-how_args8] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-quantile-how_args11] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-sum-how_args2] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-min-how_args3] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-var-how_args5] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-var-how_args6] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-std-how_args8] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-kurt-how_args12] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-2-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-sum-how_args2] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-min-how_args3] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-var-how_args5] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-var-how_args6] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-median-how_args9] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-skew-how_args10] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-kurt-how_args12] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-columns] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-True-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-count-how_args0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-count-how_args0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-mean-how_args1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-mean-how_args1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-sum-how_args2] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-sum-how_args2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-min-how_args3] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-1] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-min-how_args3] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-max-how_args4] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-max-how_args4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-var-how_args5] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-var-how_args5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-var-how_args6] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-index] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-var-how_args6] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-std-how_args7] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-std-how_args7] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-std-how_args8] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-std-how_args8] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-median-how_args9] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-median-how_args9] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-skew-how_args10] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-0] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-skew-how_args10] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-quantile-how_args11] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-quantile-how_args11] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-kurt-how_args12] [gw0] [ 50%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apis[2-False-3-3-False-kurt-how_args12] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[1-1] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-columns] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[1-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[2-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[2-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_agg[2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-1-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-1-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-2-1] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-2-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-True-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-1-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-1-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-2-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-2-2] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-index] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-1-False-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-1-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-1-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-2-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-2-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-True-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-1-1] [gw1] [ 50%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-index] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-1-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-1-2] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-2-1] [gw0] [ 50%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-2-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[2-None-False-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-1-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-1-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-2-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-columns] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-2-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-True-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-1-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-1-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-2-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-2-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-1-False-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-1-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-1-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-2-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-2-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-True-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-1-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-1-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-1-2] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-1-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-2-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-2-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-2-2] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_apply[None-None-False-2-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_one_element_window [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_one_element_window dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[2s] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[2s] dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[5s] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[5s] dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[20s] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-0] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[20s] dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[10h] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[10h] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_one_element_window_empty_after [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_one_element_window_empty_after dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-2] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-index] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-4] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-5] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-0] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[True-5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-1] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-2] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-2] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-4] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-4] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-5] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_cov[False-5] dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_raises [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_rolling_raises dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_constructor [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_rolling.py::test_time_rolling_constructor dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[3-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-index] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[3-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[3-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-0] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[3-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[6-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[6-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[6-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_disk_shuffle[6-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-8-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-index] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-8-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-8-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-8-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-12-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-12-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-12-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-index] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[32-12-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-8-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-8-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-8-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-1] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-8-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-12-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-0] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-12-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-12-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle[6-12-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[32-3] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[32-3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[32-12] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[32-12] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[8-3] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[8-3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[8-12] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_task_shuffle_index[8-12] dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_str_column_not_in_dataframe [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_str_column_not_in_dataframe dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_mixed_list_column_not_in_dataframe [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_mixed_list_column_not_in_dataframe dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_list_column_not_in_dataframe [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_list_column_not_in_dataframe dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_column_columns [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_column_columns dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_column_projection [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_column_projection dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_reductions [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_reductions dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_reductions_after_projection [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-0] [gw0] [ 51%] XFAIL dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_reductions_after_projection dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-a-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-a-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-a-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-a-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-b-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-0] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-b-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-b-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-b-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-by2-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-by2-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-by2-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[10-by2-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-a-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-a-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-a-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-a-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-b-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-b-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-b-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-columns] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-b-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-by2-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-by2-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-by2-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_[500-by2-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-True] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-columns] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending2] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending2] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending3] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-True] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending2] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending2] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending3] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-True] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending2] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending2] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending3] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-True] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-False] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending2] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending2] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending3] [gw0] [ 51%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending3] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[1.0-128000000.0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[1.0-128000000.0] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[1.0-12800000.0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-columns] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[1.0-12800000.0] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[2.0-128000000.0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-1] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[2.0-128000000.0] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[2.0-12800000.0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index[2.0-12800000.0] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sorted [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-index] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sorted dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_pre_sorted [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_pre_sorted dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[True-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[True-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[True-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-0] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[True-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[False-True] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-index] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-0] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[False-True] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[False-False] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-columns] [gw1] [ 51%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-1] [gw0] [ 51%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_no_sort[False-False] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_repartition [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_repartition dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_simplify [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_simplify dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_numeric_columns [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_numeric_columns dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_without_sort [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_without_sort dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values[None] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-0] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values[None] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values[tasks] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-0] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values[tasks] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_temporary_column_dropped[None] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_temporary_column_dropped[None] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_temporary_column_dropped[tasks] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_temporary_column_dropped[tasks] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_optimize [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_optimize dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_single_partition [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_single_partition dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_list [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_list dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_descending [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-1] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_descending dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_head_nlargest [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_head_nlargest dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_tail_nsmallest [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_tail_nsmallest dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[1-[True, False]] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[1-[True, False]] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-1] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[1-[False, True]] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-index] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[1-[False, True]] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[3-[True, False]] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[3-[True, False]] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[3-[False, True]] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_conflicting_ascending_head_tail[3-[False, True]] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_head_nlargest_string [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_head_nlargest_string dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_head_nlargest [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-1] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_head_nlargest dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_head_nlargest_string [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_head_nlargest_string dask/dataframe/dask_expr/tests/test_shuffle.py::test_filter_sort [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_filter_sort dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_add [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_add dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[None] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[None] dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[null_value1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[null_value1] dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[null_value2] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_index_nulls[null_value2] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_dask_dt_index[16h] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_dask_dt_index[16h] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_dask_dt_index[-16h] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_dask_dt_index[-16h] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sort_values_shuffle_options [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sort_values_shuffle_options dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_predicate_pushdown [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_predicate_pushdown dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_explicit_divisions [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_with_explicit_divisions dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_npartitions_changes [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-0] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_npartitions_changes dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sorted_divisions [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sorted_divisions dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sort_values_one_partition [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_sort_values_one_partition dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_triggers_calc_when_accessing_divisions [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_triggers_calc_when_accessing_divisions dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-columns] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle dask/dataframe/dask_expr/tests/test_shuffle.py::test_empty_partitions [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_empty_partitions dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_no_assign [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_no_assign dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_filter_pushdown[shuffle] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_filter_pushdown[shuffle] dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_filter_pushdown[sort_values] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_filter_pushdown[sort_values] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_avoid_overeager_filter_pushdown[set_index] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_avoid_overeager_filter_pushdown[set_index] dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_avoid_overeager_filter_pushdown[sort_values] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_avoid_overeager_filter_pushdown[sort_values] dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_filter_pushdown [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_filter_pushdown dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_index_shuffle [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_shuffle.py::test_shuffle_index_shuffle dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_user_divisions_one_partition [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-0] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_user_divisions_one_partition dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_divisions_npartitions [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-index] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_divisions_npartitions dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_unordered_categorical [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-0] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_sort_values_unordered_categorical dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_before_assign [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-columns] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_before_assign dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_shuffle_afterwards [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-1] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-index] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-0] [gw0] [ 52%] FAILED dask/dataframe/dask_expr/tests/test_shuffle.py::test_set_index_shuffle_afterwards dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[len-kwargs0] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[len-kwargs0] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[capitalize-kwargs1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[capitalize-kwargs1] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[casefold-kwargs2] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[casefold-kwargs2] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[contains-kwargs3] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[contains-kwargs3] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[count-kwargs4] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[count-kwargs4] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[endswith-kwargs5] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[endswith-kwargs5] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[extract-kwargs6] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-columns] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[extract-kwargs6] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[extractall-kwargs7] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[extractall-kwargs7] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[find-kwargs8] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[find-kwargs8] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[findall-kwargs9] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[findall-kwargs9] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[fullmatch-kwargs10] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[fullmatch-kwargs10] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[get-kwargs11] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[get-kwargs11] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isalnum-kwargs12] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isalnum-kwargs12] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isalpha-kwargs13] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isalpha-kwargs13] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isdecimal-kwargs14] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isdecimal-kwargs14] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isdigit-kwargs15] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isdigit-kwargs15] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[islower-kwargs16] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[islower-kwargs16] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isspace-kwargs17] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isspace-kwargs17] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[istitle-kwargs18] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[istitle-kwargs18] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isupper-kwargs19] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[isupper-kwargs19] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[join-kwargs20] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[join-kwargs20] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[len-kwargs21] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[len-kwargs21] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[ljust-kwargs22] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[ljust-kwargs22] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[lower-kwargs23] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[lower-kwargs23] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[lstrip-kwargs24] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[lstrip-kwargs24] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[match-kwargs25] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[match-kwargs25] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[normalize-kwargs26] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-index] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[normalize-kwargs26] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[pad-kwargs27] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[pad-kwargs27] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[removeprefix-kwargs28] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[removeprefix-kwargs28] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[removesuffix-kwargs29] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[removesuffix-kwargs29] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[repeat-kwargs30] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[repeat-kwargs30] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[replace-kwargs31] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[replace-kwargs31] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rfind-kwargs32] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rfind-kwargs32] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rjust-kwargs33] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rjust-kwargs33] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rstrip-kwargs34] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rstrip-kwargs34] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[slice-kwargs35] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-0] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[slice-kwargs35] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[slice_replace-kwargs36] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[slice_replace-kwargs36] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[startswith-kwargs37] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[startswith-kwargs37] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[strip-kwargs38] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[strip-kwargs38] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[swapcase-kwargs39] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[swapcase-kwargs39] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[title-kwargs40] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[title-kwargs40] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[upper-kwargs41] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[upper-kwargs41] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[wrap-kwargs42] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[wrap-kwargs42] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[zfill-kwargs43] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[zfill-kwargs43] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[split-kwargs44] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-columns] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[split-kwargs44] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rsplit-kwargs45] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[rsplit-kwargs45] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[cat-kwargs46] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[cat-kwargs46] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[cat-kwargs47] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_string_accessor[cat-kwargs47] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_accessor_cat [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_accessor_cat dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_split_[range_index] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_split_[range_index] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_split_[other index] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_split_[other index] dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_accessor_not_available [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-1] [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_str_accessor_not_available dask/dataframe/dask_expr/tests/test_string_accessor.py::test_partition [gw0] [ 52%] PASSED dask/dataframe/dask_expr/tests/test_string_accessor.py::test_partition dask/dataframe/dask_expr/tests/test_ufunc.py::test_ufunc [gw0] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_ufunc dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[mean] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-index] [gw0] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[mean] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[std] [gw0] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[std] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[sum] [gw1] [ 52%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-0] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[sum] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumsum] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumsum] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumprod] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumprod] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[var] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-columns] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[var] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[min] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[min] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[max] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-1] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[max] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[all] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[all] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[any] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-index] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[any] dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[prod] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-0] [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[prod] dask/dataframe/dask_expr/tests/test_ufunc.py::test_clip [gw0] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_clip dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_csv-files0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_table-files1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_fwf-files2] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_csv-files0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_table-files1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_fwf-files2] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_kwargs[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_table-files1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_fwf-files2] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_dtype_coercion[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_csv-files0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_table-files1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_fwf-files2] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_pandas_read_text_with_header[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_table-files1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_fwf-files2] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_simple[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_fwf-files2] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_kwargs[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_fwf-files2] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_text_blocks_to_pandas_blocked[read_fwf-files2] dask/dataframe/io/tests/test_csv.py::test_skiprows[read_csv-read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skiprows[read_csv-read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_skiprows[read_table-read_table-files1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skiprows[read_table-read_table-files1] dask/dataframe/io/tests/test_csv.py::test_comment[read_csv-read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_comment[read_csv-read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_comment[read_table-read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_comment[read_table-read_table-files1] dask/dataframe/io/tests/test_csv.py::test_skipfooter[read_csv-read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skipfooter[read_csv-read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_skipfooter[read_table-read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skipfooter[read_table-read_table-files1] dask/dataframe/io/tests/test_csv.py::test_skiprows_as_list[read_csv-read_csv-files0-str, int, int\n] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skiprows_as_list[read_csv-read_csv-files0-str, int, int\n] dask/dataframe/io/tests/test_csv.py::test_skiprows_as_list[read_table-read_table-files1-str\t int\t int\n] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_skiprows_as_list[read_table-read_table-files1-str\t int\t int\n] dask/dataframe/io/tests/test_csv.py::test_enforce_dtypes[read_csv-blocks0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_enforce_dtypes[read_csv-blocks0] dask/dataframe/io/tests/test_csv.py::test_enforce_dtypes[read_table-blocks1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_enforce_dtypes[read_table-blocks1] dask/dataframe/io/tests/test_csv.py::test_enforce_columns[read_csv-blocks0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_enforce_columns[read_csv-blocks0] dask/dataframe/io/tests/test_csv.py::test_enforce_columns[read_table-blocks1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_enforce_columns[read_table-blocks1] dask/dataframe/io/tests/test_csv.py::test_read_csv[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-,] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-,] dask/dataframe/io/tests/test_csv.py::test_read_csv[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-\t] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-\t] dask/dataframe/io/tests/test_csv.py::test_read_csv[read_table-read_table-name amount\nAlice 100\nBob -200\nCharlie 300\nDennis 400\nEdith -500\nFrank 600\nAlice 200\nFrank -200\nBob 600\nAlice 400\nFrank 200\nAlice 300\nEdith 600-\\s+] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv[read_table-read_table-name amount\nAlice 100\nBob -200\nCharlie 300\nDennis 400\nEdith -500\nFrank 600\nAlice 200\nFrank -200\nBob 600\nAlice 400\nFrank 200\nAlice 300\nEdith 600-\\s+] dask/dataframe/io/tests/test_csv.py::test_read_csv_convert_string_config [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_convert_string_config dask/dataframe/io/tests/test_csv.py::test_read_csv_large_skiprows[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-7] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_large_skiprows[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-7] dask/dataframe/io/tests/test_csv.py::test_read_csv_large_skiprows[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-skip1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_large_skiprows[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-skip1] dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_only_in_first_partition[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-7] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-index] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_only_in_first_partition[read_csv-read_csv-name,amount\nAlice,100\nBob,-200\nCharlie,300\nDennis,400\nEdith,-500\nFrank,600\nAlice,200\nFrank,-200\nBob,600\nAlice,400\nFrank,200\nAlice,300\nEdith,600-7] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-0] dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_only_in_first_partition[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-skip1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_only_in_first_partition[read_table-read_table-name\tamount\nAlice\t100\nBob\t-200\nCharlie\t300\nDennis\t400\nEdith\t-500\nFrank\t600\nAlice\t200\nFrank\t-200\nBob\t600\nAlice\t400\nFrank\t200\nAlice\t300\nEdith\t600-skip1] dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_csv-read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_csv-read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_table-read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_table-read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_csv-read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_csv-read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_table-read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_table-read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_csv-files0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_table-files1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_duplicate_name[read_csv-files0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_duplicate_name[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_duplicate_name[read_table-files1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_duplicate_name[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_table-files1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_csv-files0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_csv-files0] dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_table-files1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_table-files1] dask/dataframe/io/tests/test_csv.py::test_read_csv_index [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-0] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_index dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_range [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_skiprows_range dask/dataframe/io/tests/test_csv.py::test_usecols [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_usecols dask/dataframe/io/tests/test_csv.py::test_string_blocksize [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_string_blocksize dask/dataframe/io/tests/test_csv.py::test_skipinitialspace [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_skipinitialspace dask/dataframe/io/tests/test_csv.py::test_consistent_dtypes [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_consistent_dtypes dask/dataframe/io/tests/test_csv.py::test_consistent_dtypes_2 [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_consistent_dtypes_2 dask/dataframe/io/tests/test_csv.py::test_categorical_dtypes [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_categorical_dtypes dask/dataframe/io/tests/test_csv.py::test_categorical_known [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_categorical_known dask/dataframe/io/tests/test_csv.py::test_compression_multiple_files[infer] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_compression_multiple_files[infer] dask/dataframe/io/tests/test_csv.py::test_compression_multiple_files[gzip] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_compression_multiple_files[gzip] dask/dataframe/io/tests/test_csv.py::test_empty_csv_file [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_empty_csv_file dask/dataframe/io/tests/test_csv.py::test_read_csv_no_sample [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_no_sample dask/dataframe/io/tests/test_csv.py::test_read_csv_sensitive_to_enforce [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_sensitive_to_enforce dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-None] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-None] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-1] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-None] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-None] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[lzma-None] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[lzma-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[lzma-10] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[lzma-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-None] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-0] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[snappy-None] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[snappy-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[snappy-10] [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[snappy-10] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-None] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-columns] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-None] dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-10] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-10] dask/dataframe/io/tests/test_csv.py::test_warn_non_seekable_files [gw0] [ 53%] SKIPPED dask/dataframe/io/tests/test_csv.py::test_warn_non_seekable_files dask/dataframe/io/tests/test_csv.py::test_windows_line_terminator [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_windows_line_terminator dask/dataframe/io/tests/test_csv.py::test_header_int[1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_header_int[1] dask/dataframe/io/tests/test_csv.py::test_header_int[2] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_header_int[2] dask/dataframe/io/tests/test_csv.py::test_header_int[3] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-1] [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_header_int[3] dask/dataframe/io/tests/test_csv.py::test_header_None [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_header_None dask/dataframe/io/tests/test_csv.py::test_auto_blocksize [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_auto_blocksize dask/dataframe/io/tests/test_csv.py::test__infer_block_size [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test__infer_block_size dask/dataframe/io/tests/test_csv.py::test_auto_blocksize_max64mb [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_auto_blocksize_max64mb dask/dataframe/io/tests/test_csv.py::test_auto_blocksize_csv [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_auto_blocksize_csv dask/dataframe/io/tests/test_csv.py::test_head_partial_line_fix [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_head_partial_line_fix dask/dataframe/io/tests/test_csv.py::test_read_csv_raises_on_no_files [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_raises_on_no_files dask/dataframe/io/tests/test_csv.py::test_read_csv_has_deterministic_name [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_has_deterministic_name dask/dataframe/io/tests/test_csv.py::test_multiple_read_csv_has_deterministic_name [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_multiple_read_csv_has_deterministic_name dask/dataframe/io/tests/test_csv.py::test_read_csv_has_different_names_based_on_blocksize [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_has_different_names_based_on_blocksize dask/dataframe/io/tests/test_csv.py::test_csv_with_integer_names [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_csv_with_integer_names dask/dataframe/io/tests/test_csv.py::test_late_dtypes [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_late_dtypes dask/dataframe/io/tests/test_csv.py::test_assume_missing [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_assume_missing dask/dataframe/io/tests/test_csv.py::test_index_col [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-columns] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_index_col dask/dataframe/io/tests/test_csv.py::test_read_csv_with_datetime_index_partitions_one [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_with_datetime_index_partitions_one dask/dataframe/io/tests/test_csv.py::test_read_csv_with_datetime_index_partitions_n [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_with_datetime_index_partitions_n dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-8-sig] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-8-sig] dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16] dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16-le] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16-le] dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16-be] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_encoding_gh601[utf-16-be] dask/dataframe/io/tests/test_csv.py::test_read_csv_header_issue_823 [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_header_issue_823 dask/dataframe/io/tests/test_csv.py::test_none_usecols [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_none_usecols dask/dataframe/io/tests/test_csv.py::test_parse_dates_multi_column [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_parse_dates_multi_column dask/dataframe/io/tests/test_csv.py::test_read_csv_sep [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_sep dask/dataframe/io/tests/test_csv.py::test_read_csv_slash_r [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-1] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_slash_r dask/dataframe/io/tests/test_csv.py::test_read_csv_singleton_dtype [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_singleton_dtype dask/dataframe/io/tests/test_csv.py::test_read_csv_arrow_engine [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_arrow_engine dask/dataframe/io/tests/test_csv.py::test_robust_column_mismatch [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-index] [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_robust_column_mismatch dask/dataframe/io/tests/test_csv.py::test_different_columns_are_allowed [gw0] [ 53%] FAILED dask/dataframe/io/tests/test_csv.py::test_different_columns_are_allowed dask/dataframe/io/tests/test_csv.py::test_error_if_sample_is_too_small [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_error_if_sample_is_too_small dask/dataframe/io/tests/test_csv.py::test_read_csv_names_not_none [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_names_not_none dask/dataframe/io/tests/test_csv.py::test_to_csv [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-0] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv dask/dataframe/io/tests/test_csv.py::test_to_csv_multiple_files_cornercases [gw1] [ 53%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-columns] [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_multiple_files_cornercases dask/dataframe/io/tests/test_csv.py::test_to_single_csv [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_single_csv dask/dataframe/io/tests/test_csv.py::test_to_single_csv_with_name_function [gw0] [ 53%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_single_csv_with_name_function dask/dataframe/io/tests/test_csv.py::test_to_single_csv_with_header_first_partition_only [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_single_csv_with_header_first_partition_only dask/dataframe/io/tests/test_csv.py::test_to_csv_with_single_file_and_exclusive_mode [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-columns] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_with_single_file_and_exclusive_mode dask/dataframe/io/tests/test_csv.py::test_to_csv_single_file_exlusive_mode_no_overwrite dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_single_file_exlusive_mode_no_overwrite dask/dataframe/io/tests/test_csv.py::test_to_single_csv_gzip [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_single_csv_gzip dask/dataframe/io/tests/test_csv.py::test_to_csv_gzip [gw0] [ 54%] XFAIL dask/dataframe/io/tests/test_csv.py::test_to_csv_gzip dask/dataframe/io/tests/test_csv.py::test_to_csv_nodir [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_nodir dask/dataframe/io/tests/test_csv.py::test_to_csv_simple [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-index] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_simple dask/dataframe/io/tests/test_csv.py::test_to_csv_with_single_file_and_append_mode [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_with_single_file_and_append_mode dask/dataframe/io/tests/test_csv.py::test_to_csv_series [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_series dask/dataframe/io/tests/test_csv.py::test_to_csv_with_get [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-columns] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_with_get dask/dataframe/io/tests/test_csv.py::test_to_csv_warns_using_scheduler_argument [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-index] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_warns_using_scheduler_argument dask/dataframe/io/tests/test_csv.py::test_to_csv_errors_using_multiple_scheduler_args [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_errors_using_multiple_scheduler_args dask/dataframe/io/tests/test_csv.py::test_to_csv_keeps_all_non_scheduler_compute_kwargs [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-index] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_keeps_all_non_scheduler_compute_kwargs dask/dataframe/io/tests/test_csv.py::test_to_csv_paths [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_paths dask/dataframe/io/tests/test_csv.py::test_to_csv_header_empty_dataframe[False-] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header_empty_dataframe[False-] dask/dataframe/io/tests/test_csv.py::test_to_csv_header_empty_dataframe[True-x,y\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header_empty_dataframe[True-x,y\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[False-False-a,1\n-d,4\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[False-False-a,1\n-d,4\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[True-False-x,y\n-x,y\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[True-False-x,y\n-x,y\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[False-True-a,1\n-d,4\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[False-True-a,1\n-d,4\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[True-True-x,y\n-d,4\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[True-True-x,y\n-d,4\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[header4-False-aa,bb\n-aa,bb\n] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[header4-False-aa,bb\n-aa,bb\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_header[header5-True-aa,bb\n-d,4\n] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_header[header5-True-aa,bb\n-d,4\n] dask/dataframe/io/tests/test_csv.py::test_to_csv_line_ending [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_to_csv_line_ending dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists0] dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists1] dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists2] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists2] dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists3] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_block_mask[block_lists3] dask/dataframe/io/tests/test_csv.py::test_reading_empty_csv_files_with_path [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-columns] [gw0] [ 54%] FAILED dask/dataframe/io/tests/test_csv.py::test_reading_empty_csv_files_with_path dask/dataframe/io/tests/test_csv.py::test_read_csv_groupby_get_group [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_read_csv_groupby_get_group dask/dataframe/io/tests/test_csv.py::test_csv_getitem_column_order [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_csv_getitem_column_order dask/dataframe/io/tests/test_csv.py::test_csv_parse_fail [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_csv_parse_fail dask/dataframe/io/tests/test_csv.py::test_csv_name_should_be_different_even_if_head_is_same [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_csv_name_should_be_different_even_if_head_is_same dask/dataframe/io/tests/test_csv.py::test_select_with_include_path_column [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_select_with_include_path_column dask/dataframe/io/tests/test_csv.py::test_names_with_header_0[True] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_names_with_header_0[True] dask/dataframe/io/tests/test_csv.py::test_names_with_header_0[False] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_csv.py::test_names_with_header_0[False] dask/dataframe/io/tests/test_demo.py::test_make_timeseries [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries dask/dataframe/io/tests/test_demo.py::test_make_timeseries_no_args [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries_no_args dask/dataframe/io/tests/test_demo.py::test_no_overlaps [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_no_overlaps dask/dataframe/io/tests/test_demo.py::test_make_timeseries_keywords [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries_keywords dask/dataframe/io/tests/test_demo.py::test_make_timeseries_fancy_keywords [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries_fancy_keywords dask/dataframe/io/tests/test_demo.py::test_make_timeseries_getitem_compute [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-0] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-columns] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-1] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-index] [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries_getitem_compute dask/dataframe/io/tests/test_demo.py::test_make_timeseries_column_projection [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-columns] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_make_timeseries_column_projection dask/dataframe/io/tests/test_demo.py::test_with_spec[None] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec[None] dask/dataframe/io/tests/test_demo.py::test_with_spec[42] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec[42] dask/dataframe/io/tests/test_demo.py::test_with_spec_non_default[None] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_non_default[None] dask/dataframe/io/tests/test_demo.py::test_with_spec_non_default[42] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_non_default[42] dask/dataframe/io/tests/test_demo.py::test_with_spec_pyarrow [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_pyarrow dask/dataframe/io/tests/test_demo.py::test_same_prefix_col_numbering[None] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_same_prefix_col_numbering[None] dask/dataframe/io/tests/test_demo.py::test_same_prefix_col_numbering[42] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_same_prefix_col_numbering[42] dask/dataframe/io/tests/test_demo.py::test_with_spec_category_nunique [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_category_nunique dask/dataframe/io/tests/test_demo.py::test_with_spec_default_integer[None] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_default_integer[None] dask/dataframe/io/tests/test_demo.py::test_with_spec_default_integer[42] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_default_integer[42] dask/dataframe/io/tests/test_demo.py::test_with_spec_integer_method [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_integer_method dask/dataframe/io/tests/test_demo.py::test_with_spec_datetime_index [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_demo.py::test_with_spec_datetime_index dask/dataframe/io/tests/test_hdf.py::test_to_hdf [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf dask/dataframe/io/tests/test_hdf.py::test_to_hdf_multiple_nodes [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_multiple_nodes dask/dataframe/io/tests/test_hdf.py::test_to_hdf_multiple_files [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_multiple_files dask/dataframe/io/tests/test_hdf.py::test_to_hdf_modes_multiple_nodes [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_modes_multiple_nodes dask/dataframe/io/tests/test_hdf.py::test_to_hdf_modes_multiple_files [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_modes_multiple_files dask/dataframe/io/tests/test_hdf.py::test_to_hdf_lock_delays [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_lock_delays dask/dataframe/io/tests/test_hdf.py::test_to_hdf_exceptions [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_exceptions dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-sync] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-sync] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-threads] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-threads] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-processes] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[1-processes] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-sync] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-sync] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-threads] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-threads] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-processes] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[4-processes] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-sync] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-sync] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-threads] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-threads] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-processes] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_schedulers[10-processes] dask/dataframe/io/tests/test_hdf.py::test_to_hdf_kwargs [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_kwargs dask/dataframe/io/tests/test_hdf.py::test_to_fmt_warns [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_fmt_warns dask/dataframe/io/tests/test_hdf.py::test_read_hdf[data0-assert_frame_equal] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf[data0-assert_frame_equal] dask/dataframe/io/tests/test_hdf.py::test_read_hdf[data1-assert_series_equal] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf[data1-assert_series_equal] dask/dataframe/io/tests/test_hdf.py::test_read_hdf_multiply_open [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf_multiply_open dask/dataframe/io/tests/test_hdf.py::test_read_hdf_multiple [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf_multiple dask/dataframe/io/tests/test_hdf.py::test_read_hdf_start_stop_values [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf_start_stop_values dask/dataframe/io/tests/test_hdf.py::test_hdf_globbing [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_globbing dask/dataframe/io/tests/test_hdf.py::test_hdf_file_list [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_file_list dask/dataframe/io/tests/test_hdf.py::test_read_hdf_pattern_pathlike [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf_pattern_pathlike dask/dataframe/io/tests/test_hdf.py::test_to_hdf_path_pathlike [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_to_hdf_path_pathlike dask/dataframe/io/tests/test_hdf.py::test_read_hdf_doesnt_segfault [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_read_hdf_doesnt_segfault dask/dataframe/io/tests/test_hdf.py::test_hdf_filenames [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_filenames dask/dataframe/io/tests/test_hdf.py::test_hdf_path_exceptions [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_path_exceptions dask/dataframe/io/tests/test_hdf.py::test_hdf_nonpandas_keys [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_nonpandas_keys dask/dataframe/io/tests/test_hdf.py::test_hdf_empty_dataframe [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_hdf.py::test_hdf_empty_dataframe dask/dataframe/io/tests/test_io.py::test_meta_from_array [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_meta_from_array dask/dataframe/io/tests/test_io.py::test_meta_from_1darray [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_meta_from_1darray dask/dataframe/io/tests/test_io.py::test_meta_from_recarray [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_meta_from_recarray dask/dataframe/io/tests/test_io.py::test_from_array [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-columns] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-1] dask/dataframe/io/tests/test_io.py::test_from_array_with_record_dtype [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_with_record_dtype dask/dataframe/io/tests/test_io.py::test_from_pandas_dataframe [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_dataframe dask/dataframe/io/tests/test_io.py::test_from_pandas_small [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_small dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[1] dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[2] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[2] dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[4] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[4] dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[5] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_is_accurate[5] dask/dataframe/io/tests/test_io.py::test_from_pandas_series [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_series dask/dataframe/io/tests/test_io.py::test_from_pandas_non_sorted [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_non_sorted dask/dataframe/io/tests/test_io.py::test_from_pandas_single_row [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_single_row dask/dataframe/io/tests/test_io.py::test_from_pandas_with_datetime_index [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_with_datetime_index dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[None] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[None] dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[null_value1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[null_value1] dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[null_value2] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_with_index_nulls[null_value2] dask/dataframe/io/tests/test_io.py::test_from_pandas_with_wrong_args [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_with_wrong_args dask/dataframe/io/tests/test_io.py::test_from_pandas_chunksize_one dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-index] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_chunksize_one dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index0] dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index1] dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index2] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_npartitions_duplicates[index2] dask/dataframe/io/tests/test_io.py::test_from_pandas_convert_string_config [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_convert_string_config dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[True-index0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[True-index0] dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[True-index1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[True-index1] dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[False-index0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[False-index0] dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[False-index1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_pandas_immutable[False-index1] dask/dataframe/io/tests/test_io.py::test_gpu_from_pandas_npartitions_duplicates [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_io.py::test_gpu_from_pandas_npartitions_duplicates dask/dataframe/io/tests/test_io.py::test_DataFrame_from_dask_array [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_DataFrame_from_dask_array dask/dataframe/io/tests/test_io.py::test_DataFrame_from_dask_array_with_blockwise_ops [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_DataFrame_from_dask_array_with_blockwise_ops dask/dataframe/io/tests/test_io.py::test_Series_from_dask_array [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_Series_from_dask_array dask/dataframe/io/tests/test_io.py::test_from_dask_array_index[True] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_index[True] dask/dataframe/io/tests/test_io.py::test_from_dask_array_index[False] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_index[False] dask/dataframe/io/tests/test_io.py::test_from_dask_array_index_raises [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_index_raises dask/dataframe/io/tests/test_io.py::test_from_array_raises_more_than_2D [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_raises_more_than_2D dask/dataframe/io/tests/test_io.py::test_from_dask_array_compat_numpy_array [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_compat_numpy_array dask/dataframe/io/tests/test_io.py::test_from_array_wrong_column_shape_error [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_wrong_column_shape_error dask/dataframe/io/tests/test_io.py::test_from_array_with_column_names [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_with_column_names dask/dataframe/io/tests/test_io.py::test_from_dask_array_compat_numpy_array_1d [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_compat_numpy_array_1d dask/dataframe/io/tests/test_io.py::test_from_array_1d_with_column_names [gw1] [ 54%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-columns] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_1d_with_column_names dask/dataframe/io/tests/test_io.py::test_from_array_1d_list_of_columns_gives_dataframe [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_1d_list_of_columns_gives_dataframe dask/dataframe/io/tests/test_io.py::test_from_dask_array_struct_dtype [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_struct_dtype dask/dataframe/io/tests/test_io.py::test_from_dask_array_unknown_chunks [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_unknown_chunks dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes0-expected_divisions0] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes0-expected_divisions0] dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes1-expected_divisions1] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes1-expected_divisions1] dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes2-expected_divisions2] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_empty_chunks[chunksizes2-expected_divisions2] dask/dataframe/io/tests/test_io.py::test_from_dask_array_unknown_width_error [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_unknown_width_error dask/dataframe/io/tests/test_io.py::test_from_array_dispatching[cupy-cudf] [gw0] [ 54%] SKIPPED dask/dataframe/io/tests/test_io.py::test_from_array_dispatching[cupy-cudf] dask/dataframe/io/tests/test_io.py::test_from_array_dispatching[numpy-pandas] [gw0] [ 54%] PASSED dask/dataframe/io/tests/test_io.py::test_from_array_dispatching[numpy-pandas] dask/dataframe/io/tests/test_io.py::test_to_bag [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-1] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-index] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-0] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-0] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-columns] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-columns] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-1] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-1] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-index] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-index] dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-0] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-0] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[0] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[0] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[1] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[1] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[2] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[2] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[3] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[3] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[4] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[4] dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[5] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unary_operators[5] dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[0] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[0] dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[1] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[1] dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[2] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[2] dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[3] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[3] dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[4] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[4] dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[0] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[0] dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[1] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[1] dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[start] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[start] dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[end] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[end] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[0] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[0] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[1] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[1] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[2] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[2] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[3] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[3] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[4] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[4] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[5] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[5] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[6] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[6] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[7] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[7] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[8] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[8] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[9] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[9] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[10] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[10] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[11] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[11] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[12] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[12] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[13] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[13] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[14] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[14] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[15] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[15] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[16] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[16] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[17] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[17] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[18] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[18] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[19] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[19] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[20] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[20] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[21] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[21] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[22] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[22] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[23] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[23] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[24] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[24] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[25] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[25] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[26] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[26] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[27] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[27] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[28] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[28] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[29] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[29] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[30] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_bag dask/dataframe/io/tests/test_io.py::test_to_bag_frame [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_bag_frame dask/dataframe/io/tests/test_io.py::test_to_records [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_records dask/dataframe/io/tests/test_io.py::test_to_records_with_lengths[lengths0] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_records_with_lengths[lengths0] dask/dataframe/io/tests/test_io.py::test_to_records_with_lengths[True] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_records_with_lengths[True] dask/dataframe/io/tests/test_io.py::test_to_records_raises [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_records_raises dask/dataframe/io/tests/test_io.py::test_from_delayed [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[30] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[31] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_delayed dask/dataframe/io/tests/test_io.py::test_from_delayed_to_dask_array [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_delayed_to_dask_array dask/dataframe/io/tests/test_io.py::test_from_delayed_misordered_meta [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_delayed_misordered_meta dask/dataframe/io/tests/test_io.py::test_to_delayed [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_delayed dask/dataframe/io/tests/test_io.py::test_to_delayed_optimize_graph [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_to_delayed_optimize_graph dask/dataframe/io/tests/test_io.py::test_from_dask_array_index_dtype [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[31] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[32] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dask_array_index_dtype dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals0] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals0] dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals1] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals1] dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals2] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_simple[vals2] dask/dataframe/io/tests/test_io.py::test_from_map_multi [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_multi dask/dataframe/io/tests/test_io.py::test_from_map_args [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_args dask/dataframe/io/tests/test_io.py::test_from_map_divisions [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_divisions dask/dataframe/io/tests/test_io.py::test_from_map_meta [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_meta dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[iterable0] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[iterable0] dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[iterable1] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[iterable1] dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[_generator] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_other_iterables[_generator] dask/dataframe/io/tests/test_io.py::test_from_map_column_projection [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_map_column_projection dask/dataframe/io/tests/test_io.py::test_from_dict_backends[pandas] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_from_dict_backends[pandas] dask/dataframe/io/tests/test_io.py::test_from_dict_backends[cudf] [gw0] [ 55%] SKIPPED dask/dataframe/io/tests/test_io.py::test_from_dict_backends[cudf] dask/dataframe/io/tests/test_io.py::test_sorted_division_locations_duplicates[pandas] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_io.py::test_sorted_division_locations_duplicates[pandas] dask/dataframe/io/tests/test_io.py::test_sorted_division_locations_duplicates[cudf] [gw0] [ 55%] SKIPPED dask/dataframe/io/tests/test_io.py::test_sorted_division_locations_duplicates[cudf] dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[split] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[32] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[33] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[split] dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[records] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[records] dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[index] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[33] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[34] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[index] dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[columns] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[34] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[35] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[columns] dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[values] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[values] dask/dataframe/io/tests/test_json.py::test_read_json_path_column_with_duplicate_name_is_error [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_path_column_with_duplicate_name_is_error dask/dataframe/io/tests/test_json.py::test_read_json_with_path_converter [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[35] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[36] [gw0] [ 55%] FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_converter dask/dataframe/io/tests/test_json.py::test_read_orient_not_records_and_lines [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_orient_not_records_and_lines dask/dataframe/io/tests/test_json.py::test_write_orient_not_records_and_lines [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_orient_not_records_and_lines dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[5] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[36] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[37] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[5] dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[15] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[15] dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[33] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[33] dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[200] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[200] dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[90000] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_multiple_files_with_path_column[90000] dask/dataframe/io/tests/test_json.py::test_read_json_basic[split] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[37] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[38] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_basic[split] dask/dataframe/io/tests/test_json.py::test_read_json_basic[records] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_basic[records] dask/dataframe/io/tests/test_json.py::test_read_json_basic[index] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_basic[index] dask/dataframe/io/tests/test_json.py::test_read_json_basic[columns] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_basic[columns] dask/dataframe/io/tests/test_json.py::test_read_json_basic[values] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_basic[values] dask/dataframe/io/tests/test_json.py::test_read_json_fkeyword[pandas] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_fkeyword[pandas] dask/dataframe/io/tests/test_json.py::test_read_json_fkeyword[json] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_fkeyword[json] dask/dataframe/io/tests/test_json.py::test_read_json_engine_str[ujson] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_engine_str[ujson] dask/dataframe/io/tests/test_json.py::test_read_json_engine_str[read_json] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_engine_str[read_json] dask/dataframe/io/tests/test_json.py::test_read_json_meta[split] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[38] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[39] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_meta[split] dask/dataframe/io/tests/test_json.py::test_read_json_meta[records] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_meta[records] dask/dataframe/io/tests/test_json.py::test_read_json_meta[index] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_meta[index] dask/dataframe/io/tests/test_json.py::test_read_json_meta[columns] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_meta[columns] dask/dataframe/io/tests/test_json.py::test_read_json_meta[values] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_meta[values] dask/dataframe/io/tests/test_json.py::test_write_json_basic[split] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_json_basic[split] dask/dataframe/io/tests/test_json.py::test_write_json_basic[records] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_json_basic[records] dask/dataframe/io/tests/test_json.py::test_write_json_basic[index] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_json_basic[index] dask/dataframe/io/tests/test_json.py::test_write_json_basic[columns] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_json_basic[columns] dask/dataframe/io/tests/test_json.py::test_write_json_basic[values] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_write_json_basic[values] dask/dataframe/io/tests/test_json.py::test_to_json_with_get [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[39] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[40] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[40] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[41] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[41] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[42] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[42] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[43] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[43] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[44] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[44] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[45] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[45] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[46] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_to_json_with_get dask/dataframe/io/tests/test_json.py::test_read_json_error [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_error dask/dataframe/io/tests/test_json.py::test_read_chunked[5] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_chunked[5] dask/dataframe/io/tests/test_json.py::test_read_chunked[15] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_chunked[15] dask/dataframe/io/tests/test_json.py::test_read_chunked[33] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_chunked[33] dask/dataframe/io/tests/test_json.py::test_read_chunked[200] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_chunked[200] dask/dataframe/io/tests/test_json.py::test_read_chunked[90000] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_chunked[90000] dask/dataframe/io/tests/test_json.py::test_json_compressed[None] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_json_compressed[None] dask/dataframe/io/tests/test_json.py::test_json_compressed[gzip] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_json_compressed[gzip] dask/dataframe/io/tests/test_json.py::test_json_compressed[xz] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[46] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[47] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_json_compressed[xz] dask/dataframe/io/tests/test_json.py::test_read_json_inferred_compression [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_read_json_inferred_compression dask/dataframe/io/tests/test_json.py::test_to_json_results [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_json.py::test_to_json_results dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[None-None] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[None-None] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[None-i32] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[None-i32] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[columns1-None] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[columns1-None] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[columns1-i32] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip[columns1-i32] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[True] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[True] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[False] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[47] dask/dataframe/dask_expr/tests/test_collection.py::test_add_prefix [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[False] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[2] [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_add_prefix dask/dataframe/dask_expr/tests/test_collection.py::test_add_suffix [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_add_suffix [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[2] dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[4] dask/dataframe/dask_expr/tests/test_collection.py::test_select_dtypes_projection [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_orc_roundtrip_aggregate_files[4] dask/dataframe/io/tests/test_orc.py::test_to_orc_delayed [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_orc.py::test_to_orc_delayed dask/dataframe/io/tests/test_parquet.py::test_get_engine_pyarrow [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_get_engine_pyarrow dask/dataframe/io/tests/test_parquet.py::test_get_engine_no_engine [gw0] [ 55%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_get_engine_no_engine dask/dataframe/io/tests/test_parquet.py::test_get_engine_third_party [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_get_engine_third_party dask/dataframe/io/tests/test_parquet.py::test_get_engine_invalid [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_get_engine_invalid dask/dataframe/io/tests/test_parquet.py::test_local[pyarrow-pyarrow-False] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_local[pyarrow-pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_local[pyarrow-pyarrow-True] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_local[pyarrow-pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_empty[pyarrow-pyarrow-False] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_empty[pyarrow-pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_empty[pyarrow-pyarrow-True] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_empty[pyarrow-pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_simple[pyarrow-pyarrow] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_simple[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_delayed_no_metadata[pyarrow-pyarrow] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_select_dtypes_projection dask/dataframe/dask_expr/tests/test_collection.py::test_rename [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_delayed_no_metadata[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_glob[pyarrow-pyarrow] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_glob[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_calculate_divisions_false[pyarrow-pyarrow] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename dask/dataframe/dask_expr/tests/test_collection.py::test_mask_where [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_calculate_divisions_false[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_list[pyarrow-pyarrow] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_list[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_columns_auto_index[pyarrow-pyarrow] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_mask_where dask/dataframe/dask_expr/tests/test_collection.py::test_isna [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isna dask/dataframe/dask_expr/tests/test_collection.py::test_clear_divisions [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_columns_auto_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_columns_index[pyarrow-pyarrow] [gw1] [ 55%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_clear_divisions dask/dataframe/dask_expr/tests/test_collection.py::test_abs_errors [gw1] [ 55%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_abs_errors dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime_timezone [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_columns_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_nonsense_column[pyarrow] [gw0] [ 55%] PASSED dask/dataframe/io/tests/test_parquet.py::test_nonsense_column[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_columns_no_index[pyarrow-pyarrow] [gw1] [ 56%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime_timezone dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_columns_no_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_calculate_divisions_no_index[pyarrow-pyarrow] [gw1] [ 56%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime dask/dataframe/dask_expr/tests/test_collection.py::test_to_numeric [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_calculate_divisions_no_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_columns_index_with_multi_index[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_columns_index_with_multi_index[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_no_index[pyarrow-pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_no_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_series[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_numeric dask/dataframe/dask_expr/tests/test_collection.py::test_to_timedelta [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_series[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_names[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timedelta dask/dataframe/dask_expr/tests/test_collection.py::test_drop_not_implemented [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_names[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_from_pandas[pyarrow-pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_from_pandas[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_nullable_dtypes [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_nullable_dtypes dask/dataframe/io/tests/test_parquet.py::test_use_nullable_dtypes_with_types_mapper[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_use_nullable_dtypes_with_types_mapper[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_categorical[pyarrow-pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_not_implemented dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[0] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[0] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[1] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_categorical[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_append[pyarrow-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_append[pyarrow-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[1] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[0] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_append_create[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_create[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_append_with_partition [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[0] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[1] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_append_with_partition dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[False-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[False-False] dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[False-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[1] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[2] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[False-True] dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[True-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[True-False] dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[True-True] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_pyarrow[True-True] dask/dataframe/io/tests/test_parquet.py::test_partition_parallel_metadata[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partition_parallel_metadata[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_2[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[2] dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[3] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[3] dask/dataframe/dask_expr/tests/test_collection.py::test_map_meta [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_2[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_append_wo_index[pyarrow-False] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_map_meta dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_add_suffix_add_prefix [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_wo_index[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_append_wo_index[pyarrow-True] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_wo_index[pyarrow-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_add_suffix_add_prefix dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index0-offset0-False] dask/dataframe/dask_expr/tests/test_collection.py::test_rename_axis [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index0-offset0-False] dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index0-offset0-True] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index0-offset0-True] dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index1-499-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index1-499-False] dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index1-499-True] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_overlapping_divisions[pyarrow-index1-499-True] dask/dataframe/io/tests/test_parquet.py::test_append_known_divisions_to_unknown_divisions_works[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_axis dask/dataframe/dask_expr/tests/test_collection.py::test_series_name [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_known_divisions_to_unknown_divisions_works[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_append_different_columns[pyarrow-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_different_columns[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_append_different_columns[pyarrow-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_series_name dask/dataframe/dask_expr/tests/test_collection.py::test_isin [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_append_different_columns[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_append_dict_column [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_append_dict_column dask/dataframe/io/tests/test_parquet.py::test_filter_with_struct_column [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filter_with_struct_column dask/dataframe/io/tests/test_parquet.py::test_ordering[pyarrow-pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_ordering[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_custom_columns[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin dask/dataframe/dask_expr/tests/test_collection.py::test_isin_repr [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_repr dask/dataframe/dask_expr/tests/test_collection.py::test_round [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_custom_columns[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df0-write_kwargs0-read_kwargs0] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df0-write_kwargs0-read_kwargs0] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df1-write_kwargs1-read_kwargs1] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df1-write_kwargs1-read_kwargs1] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df2-write_kwargs2-read_kwargs2] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df2-write_kwargs2-read_kwargs2] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df3-write_kwargs3-read_kwargs3] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df3-write_kwargs3-read_kwargs3] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df4-write_kwargs4-read_kwargs4] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df4-write_kwargs4-read_kwargs4] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df5-write_kwargs5-read_kwargs5] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df5-write_kwargs5-read_kwargs5] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df6-write_kwargs6-read_kwargs6] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df6-write_kwargs6-read_kwargs6] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df7-write_kwargs7-read_kwargs7] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df7-write_kwargs7-read_kwargs7] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df8-write_kwargs8-read_kwargs8] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df8-write_kwargs8-read_kwargs8] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df9-write_kwargs9-read_kwargs9] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df9-write_kwargs9-read_kwargs9] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df10-write_kwargs10-read_kwargs10] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df10-write_kwargs10-read_kwargs10] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df11-write_kwargs11-read_kwargs11] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df11-write_kwargs11-read_kwargs11] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df12-write_kwargs12-read_kwargs12] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df12-write_kwargs12-read_kwargs12] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df13-write_kwargs13-read_kwargs13] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df13-write_kwargs13-read_kwargs13] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df14-write_kwargs14-read_kwargs14] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df14-write_kwargs14-read_kwargs14] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df15-write_kwargs15-read_kwargs15] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df15-write_kwargs15-read_kwargs15] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df16-write_kwargs16-read_kwargs16] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df16-write_kwargs16-read_kwargs16] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df17-write_kwargs17-read_kwargs17] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df17-write_kwargs17-read_kwargs17] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df18-write_kwargs18-read_kwargs18] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df18-write_kwargs18-read_kwargs18] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df19-write_kwargs19-read_kwargs19] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df19-write_kwargs19-read_kwargs19] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df20-write_kwargs20-read_kwargs20] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df20-write_kwargs20-read_kwargs20] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df21-write_kwargs21-read_kwargs21] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df21-write_kwargs21-read_kwargs21] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df22-write_kwargs22-read_kwargs22] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df22-write_kwargs22-read_kwargs22] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df23-write_kwargs23-read_kwargs23] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df23-write_kwargs23-read_kwargs23] dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df24-write_kwargs24-read_kwargs24] [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_roundtrip[pyarrow-df24-write_kwargs24-read_kwargs24] dask/dataframe/io/tests/test_parquet.py::test_categories[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_round dask/dataframe/dask_expr/tests/test_collection.py::test_repr [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repr dask/dataframe/dask_expr/tests/test_collection.py::test_combine_first_simplify [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_categories[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_categories_unnamed_index[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_combine_first_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_rename_traverse_filter [gw0] [ 56%] XFAIL dask/dataframe/io/tests/test_parquet.py::test_categories_unnamed_index[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_empty_partition[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_empty_partition[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_timestamp_index[pyarrow-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_traverse_filter dask/dataframe/dask_expr/tests/test_collection.py::test_columns_traverse_filters [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_timestamp_index[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_timestamp_index[pyarrow-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_timestamp_index[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_pyarrow_w_inconsistent_schema_by_partition_succeeds_w_manual_schema [gw0] [ 56%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_pyarrow_w_inconsistent_schema_by_partition_succeeds_w_manual_schema dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[infer-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[infer-False] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[infer-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_columns_traverse_filters dask/dataframe/dask_expr/tests/test_collection.py::test_clip_traverse_filters [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_clip_traverse_filters dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz0] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz0] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection1] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[infer-True] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[complex-False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[complex-False] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[complex-True] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection1] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection2] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection2] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz1] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz1] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz0] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[complex-True] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_mismatch_error [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_mismatch_error dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_mismatch_explicit_schema_none [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_mismatch_explicit_schema_none dask/dataframe/io/tests/test_parquet.py::test_partition_on[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz0] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection1] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_partition_on_duplicates[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection1] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection2] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_duplicates[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[aa] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection2] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz1] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[aa] dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[partition_on1] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz1] dask/dataframe/dask_expr/tests/test_collection.py::test_rename_columns [gw1] [ 56%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_rename_columns dask/dataframe/dask_expr/tests/test_collection.py::test_columns_named_divisions_and_meta [gw1] [ 56%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_columns_named_divisions_and_meta dask/dataframe/dask_expr/tests/test_collection.py::test_broadcast [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[partition_on1] dask/dataframe/io/tests/test_parquet.py::test_filters_categorical[pyarrow-pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_broadcast dask/dataframe/dask_expr/tests/test_collection.py::test_persist [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_persist dask/dataframe/dask_expr/tests/test_collection.py::test_index [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_index dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[True] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_filters_categorical[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_filters[pyarrow-pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filters[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_filters_v0[pyarrow-pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[True] dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filters_v0[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_filtering_pyarrow_dataset[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filtering_pyarrow_dataset[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_filters_file_list[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[False] dask/dataframe/dask_expr/tests/test_collection.py::test_head [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filters_file_list[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_filter_divisions [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_filter_divisions dask/dataframe/io/tests/test_parquet.py::test_to_parquet_lazy[pyarrow-threads] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_lazy[pyarrow-threads] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_lazy[pyarrow-processes] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head dask/dataframe/dask_expr/tests/test_collection.py::test_head_down [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_down dask/dataframe/dask_expr/tests/test_collection.py::test_case_when [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_case_when dask/dataframe/dask_expr/tests/test_collection.py::test_head_head [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_head dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions dask/dataframe/dask_expr/tests/test_collection.py::test_head_tail_repartition [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_tail_repartition dask/dataframe/dask_expr/tests/test_collection.py::test_tail [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_lazy[pyarrow-processes] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_calls_invalidate_cache[False] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_calls_invalidate_cache[False] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_calls_invalidate_cache[True] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_calls_invalidate_cache[True] dask/dataframe/io/tests/test_parquet.py::test_parquet_select_cats[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail dask/dataframe/dask_expr/tests/test_collection.py::test_tail_down [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_down dask/dataframe/dask_expr/tests/test_collection.py::test_tail_tail [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_tail dask/dataframe/dask_expr/tests/test_collection.py::test_tail_repartition [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_parquet_select_cats[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_columns_name[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_columns_name[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-None] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-gzip] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_repartition dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-gzip] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-snappy] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_compression[pyarrow-snappy] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-None] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-gzip] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-gzip] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-snappy] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_partition_on_and_compression[pyarrow-snappy] dask/dataframe/io/tests/test_parquet.py::test_read_no_metadata[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_no_metadata[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_kwargs[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking_coercion [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking_coercion dask/dataframe/dask_expr/tests/test_collection.py::test_projection_pushdown_dim_0 [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_kwargs[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_unknown_kwargs[pyarrow] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_unknown_kwargs[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_with_get[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_pushdown_dim_0 dask/dataframe/dask_expr/tests/test_collection.py::test_remove_unnecessary_projections [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_remove_unnecessary_projections dask/dataframe/dask_expr/tests/test_collection.py::test_substitute [gw1] [ 56%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_substitute dask/dataframe/dask_expr/tests/test_collection.py::test_substitute_parameters [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_substitute_parameters dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_bfill_all_nan_partition [gw1] [ 56%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_ffill_bfill_all_nan_partition dask/dataframe/dask_expr/tests/test_collection.py::test_copy [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_copy dask/dataframe/dask_expr/tests/test_collection.py::test_partitions [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_partitions dask/dataframe/dask_expr/tests/test_collection.py::test_get_partition [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_get_partition dask/dataframe/dask_expr/tests/test_collection.py::test_column_getattr [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_with_get[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_select_partitioned_column[pyarrow] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_column_getattr dask/dataframe/dask_expr/tests/test_collection.py::test_serialization [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_select_partitioned_column[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_arrow_partitioning [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_serialization dask/dataframe/dask_expr/tests/test_collection.py::test_size_optimized [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_size_optimized dask/dataframe/dask_expr/tests/test_collection.py::test_series_iter [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_arrow_partitioning dask/dataframe/io/tests/test_parquet.py::test_informative_error_messages [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_informative_error_messages dask/dataframe/io/tests/test_parquet.py::test_append_cat_fp[pyarrow] [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_append_cat_fp[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df0] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_series_iter dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_iterrows [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df0] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df1] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df1] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df2] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df2] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df3] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_iterrows dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_itertuples [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_itertuples dask/dataframe/dask_expr/tests/test_collection.py::test_array_assignment [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df3] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df4] [gw1] [ 56%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_array_assignment dask/dataframe/dask_expr/tests/test_collection.py::test_columns_assignment [gw0] [ 56%] FAILED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df4] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df5] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df5] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df6] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df6] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df7] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df7] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df8] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df8] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df9] [gw0] [ 56%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df9] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df10] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df10] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df11] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df11] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df12] [gw1] [ 57%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_columns_assignment dask/dataframe/dask_expr/tests/test_collection.py::test_parent_mixed_column_assignment [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df12] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df13] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df13] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df14] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df14] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df15] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df15] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df16] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df16] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df17] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df17] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df18] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df18] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df19] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df19] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df20] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df20] dask/dataframe/io/tests/test_parquet.py::test_datasets_timeseries[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_datasets_timeseries[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_pathlib_path[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pathlib_path[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_glob_no_meta[pyarrow-pyarrow] [gw1] [ 57%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_parent_mixed_column_assignment dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_meta [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_glob_no_meta[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_glob_yes_meta[pyarrow-pyarrow] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_meta dask/dataframe/dask_expr/tests/test_collection.py::test_setattr [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_glob_yes_meta[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-True-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-True-True] dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-True-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_setattr dask/dataframe/dask_expr/tests/test_collection.py::test_rename_projection_no_renamer [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-True-False] dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-False-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-False-True] dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-False-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_projection_no_renamer dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_projection_drop [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_dir_nometa[pyarrow-pyarrow-False-False] dask/dataframe/io/tests/test_parquet.py::test_statistics_nometa[pyarrow-pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_statistics_nometa[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-infer] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_projection_drop dask/dataframe/dask_expr/tests/test_collection.py::test_setitem_triggering_realign [gw1] [ 57%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_setitem_triggering_realign dask/dataframe/dask_expr/tests/test_collection.py::test_is_monotonic_dt64 [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-infer] dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-None] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_is_monotonic_dt64 dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[list] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[list] dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[array] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[array] dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Series] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_graph_size_pyarrow[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Series] dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Index] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_graph_size_pyarrow[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_getitem_optimization_multi[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_getitem_optimization_multi[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-True-1] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-True-1] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-True-12] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Index] dask/dataframe/dask_expr/tests/test_collection.py::test_enforce_runtime_divisions [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_enforce_runtime_divisions [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-True-12] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-False-1] dask/dataframe/dask_expr/tests/test_collection.py::test_apply_infer_columns [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-False-1] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-False-12] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int[pyarrow-False-12] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int_aggregate_files[pyarrow-8] [gw1] [ 57%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_apply_infer_columns dask/dataframe/dask_expr/tests/test_collection.py::test_tree_repr[True] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_tree_repr[True] dask/dataframe/dask_expr/tests/test_collection.py::test_tree_repr[False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int_aggregate_files[pyarrow-8] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int_aggregate_files[pyarrow-25] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_tree_repr[False] dask/dataframe/dask_expr/tests/test_collection.py::test_random_partitions [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_int_aggregate_files[pyarrow-25] dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-True-filters0--13] [gw0] [ 57%] XFAIL dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-True-filters0--13] dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-True-filters1--2] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-True-filters1--2] dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-False-filters0--13] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_random_partitions dask/dataframe/dask_expr/tests/test_collection.py::test_values [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_values dask/dataframe/dask_expr/tests/test_collection.py::test_depth [gw0] [ 57%] XFAIL dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-False-filters0--13] dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-False-filters1--2] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filter_nulls[pyarrow-False-filters1--2] dask/dataframe/io/tests/test_parquet.py::test_filter_isna[True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filter_isna[True] dask/dataframe/io/tests/test_parquet.py::test_filter_isna[False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_filter_isna[False] dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_filter[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_row_groups_filter[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_optimize_getitem_and_nonblockwise[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_optimize_getitem_and_nonblockwise[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_optimize_and_not[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_depth dask/dataframe/dask_expr/tests/test_collection.py::test_partitions_nested [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_optimize_and_not[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_empty[pyarrow-pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_empty[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-None-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-None-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-None-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_partitions_nested dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-None-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-a-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-a-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-a-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[4096-a-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-None-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-True] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-None-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-None-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-None-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-a-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-False] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-a-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-a-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_files[1MiB-a-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_aggregate_files[a] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-True] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_aggregate_files[a] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_aggregate_files[b] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_aggregate_files[b] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-None-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-False] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-None-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-None-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-None-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1024-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1024-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1024-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[True] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1024-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-4096-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-4096-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-4096-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-4096-False] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1MiB-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[False] dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_no_op [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1MiB-True] dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1MiB-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_split_adaptive_blocksize[pyarrow-1MiB-False] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-default-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-default-True] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-default-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-default-False] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-512-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_no_op dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_partition_size [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-512-True] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-512-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_partition_size dask/dataframe/dask_expr/tests/test_collection.py::test_len [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-512-False] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1024-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_len dask/dataframe/dask_expr/tests/test_collection.py::test_astype_simplify [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1024-True] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1024-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[1] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1024-False] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1MiB-True] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1MiB-True] dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1MiB-False] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_blocksize[pyarrow-1MiB-False] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_pandas_blocksize[pyarrow-pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_pandas_blocksize[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_filter_nonpartition_columns[pyarrow-pyarrow-None] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[1] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[True] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_filter_nonpartition_columns[pyarrow-pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_filter_nonpartition_columns[pyarrow-pyarrow-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[True] dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_split_out [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_filter_nonpartition_columns[pyarrow-pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_pandas_metadata_nullable_pyarrow [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_split_out dask/dataframe/dask_expr/tests/test_collection.py::test_walk [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pandas_metadata_nullable_pyarrow dask/dataframe/io/tests/test_parquet.py::test_pandas_timestamp_overflow_pyarrow [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pandas_timestamp_overflow_pyarrow dask/dataframe/io/tests/test_parquet.py::test_arrow_to_pandas[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_arrow_to_pandas[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_partitioned_column_overlap[pyarrow-write_cols0] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partitioned_column_overlap[pyarrow-write_cols0] dask/dataframe/io/tests/test_parquet.py::test_partitioned_column_overlap[pyarrow-write_cols1] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partitioned_column_overlap[pyarrow-write_cols1] dask/dataframe/io/tests/test_parquet.py::test_partitioned_no_pandas_metadata[pyarrow-write_cols0] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_walk dask/dataframe/dask_expr/tests/test_collection.py::test_find_operations [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_find_operations dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[x] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[x] dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[subset1] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partitioned_no_pandas_metadata[pyarrow-write_cols0] dask/dataframe/io/tests/test_parquet.py::test_partitioned_no_pandas_metadata[pyarrow-write_cols1] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[subset1] dask/dataframe/dask_expr/tests/test_collection.py::test_dir [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dir dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-replace-args0] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-replace-args0] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isin-args1] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_partitioned_no_pandas_metadata[pyarrow-write_cols1] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_directory_partitioning [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isin-args1] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-clip-args2] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-clip-args2] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isna-args3] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isna-args3] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-round-args4] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_directory_partitioning dask/dataframe/io/tests/test_parquet.py::test_partitioned_preserve_index[pyarrow-pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_partitioned_preserve_index[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_from_pandas_preserve_none_index[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_from_pandas_preserve_none_index[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_multi_partition_none_index_false[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-round-args4] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-abs-args5] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_multi_partition_none_index_false[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_from_pandas_preserve_none_rangeindex[pyarrow-pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_from_pandas_preserve_none_rangeindex[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_illegal_column_name[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_illegal_column_name[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_divisions_with_null_partition[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_divisions_with_null_partition[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_simple[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_simple[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_partitioned[pyarrow-True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-abs-args5] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-fillna-args6] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_partitioned[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_partitioned[pyarrow-False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-fillna-args6] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-replace-args0] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-replace-args0] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isin-args1] [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_partitioned[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_null_partition_pyarrow[None] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_null_partition_pyarrow[None] dask/dataframe/io/tests/test_parquet.py::test_null_partition_pyarrow[processes] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isin-args1] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-clip-args2] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-clip-args2] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isna-args3] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isna-args3] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-round-args4] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-round-args4] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-abs-args5] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-abs-args5] dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-fillna-args6] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-fillna-args6] dask/dataframe/dask_expr/tests/test_collection.py::test_isin_as_predicate [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_as_predicate dask/dataframe/dask_expr/tests/test_collection.py::test_sample [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_sample dask/dataframe/dask_expr/tests/test_collection.py::test_align [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_align dask/dataframe/dask_expr/tests/test_collection.py::test_align_different_partitions [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_different_partitions dask/dataframe/dask_expr/tests/test_collection.py::test_align_unknown_partitions_same_root [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_unknown_partitions_same_root dask/dataframe/dask_expr/tests/test_collection.py::test_unknown_partitions_different_root [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_unknown_partitions_different_root dask/dataframe/dask_expr/tests/test_collection.py::test_split_out_drop_duplicates[None] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_split_out_drop_duplicates[None] dask/dataframe/dask_expr/tests/test_collection.py::test_split_out_drop_duplicates[2] [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_split_out_drop_duplicates[2] dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[False] dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[True] dask/dataframe/dask_expr/tests/test_collection.py::test_nunique_approx [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique_approx dask/dataframe/dask_expr/tests/test_collection.py::test_memory_usage_per_partition [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_null_partition_pyarrow[processes] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_read_from_paths [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_memory_usage_per_partition dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_read_from_paths dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_partitioned[True] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_new_column_not_needed [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_partitioned[True] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_partitioned[False] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_new_column_not_needed dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_series [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_partitioned[False] dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_on_partitioned[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_series dask/dataframe/dask_expr/tests/test_collection.py::test_assign_non_series_inputs [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_non_series_inputs dask/dataframe/dask_expr/tests/test_collection.py::test_assign_squash_together [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_squash_together dask/dataframe/dask_expr/tests/test_collection.py::test_rename_series_reduction [gw0] [ 57%] FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_dataset_filter_on_partitioned[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_parquet_pyarrow_write_empty_metadata [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_parquet_pyarrow_write_empty_metadata dask/dataframe/io/tests/test_parquet.py::test_parquet_pyarrow_write_empty_metadata_append [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_parquet_pyarrow_write_empty_metadata_append dask/dataframe/io/tests/test_parquet.py::test_create_metadata_file[None] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_series_reduction dask/dataframe/dask_expr/tests/test_collection.py::test_are_co_aligned [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_create_metadata_file[None] dask/dataframe/io/tests/test_parquet.py::test_create_metadata_file[a] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_are_co_aligned dask/dataframe/dask_expr/tests/test_collection.py::test_assign_pandas_inputs [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_create_metadata_file[a] dask/dataframe/io/tests/test_parquet.py::test_read_write_overwrite_is_true[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_pandas_inputs dask/dataframe/dask_expr/tests/test_collection.py::test_astype_categories [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_write_overwrite_is_true[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_write_partition_on_overwrite_is_true[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_write_partition_on_overwrite_is_true[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_adaptive_round_trip[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_categories dask/dataframe/dask_expr/tests/test_collection.py::test_drop_simplify [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_adaptive_round_trip[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_raises[pyarrow] [gw0] [ 57%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_raises[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_files_from_read_parquet_in_same_call_raises[pyarrow] [gw1] [ 57%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_op_align [gw1] [ 57%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_op_align dask/dataframe/dask_expr/tests/test_collection.py::test_can_co_align [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_can_co_align dask/dataframe/dask_expr/tests/test_collection.py::test_avoid_alignment [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_overwrite_files_from_read_parquet_in_same_call_raises[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_to_parquet_errors_non_string_column_names[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_to_parquet_errors_non_string_column_names[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_dir_filter[pyarrow] [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_avoid_alignment dask/dataframe/dask_expr/tests/test_collection.py::test_mixed_array_op [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_mixed_array_op dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[add] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[add] dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[sub] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[sub] dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[mul] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[mul] dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[truediv] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[truediv] dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[pow] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[pow] dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[mod] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_array_series_comp[mod] dask/dataframe/dask_expr/tests/test_collection.py::test_len_shuffle_repartition [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_dir_filter[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_decimal_dtype [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_decimal_dtype dask/dataframe/io/tests/test_parquet.py::test_roundtrip_date_dtype [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_date_dtype dask/dataframe/io/tests/test_parquet.py::test_roundtrip_rename_columns[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_rename_columns[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_custom_metadata[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_custom_metadata[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-True] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_len_shuffle_repartition dask/dataframe/dask_expr/tests/test_collection.py::test_columns_setter [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-False] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-None] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_ignore_metadata_file[pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-2-True] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_columns_setter dask/dataframe/dask_expr/tests/test_collection.py::test_contains [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_contains dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown_unavailable [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-2-True] dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-2-False] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown_unavailable dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-2-False] dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-0-True] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown dask/dataframe/dask_expr/tests/test_collection.py::test_shape [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-0-True] dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-0-False] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shape dask/dataframe/dask_expr/tests/test_collection.py::test_size [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_size dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_groupby [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_metadata_task_size[pyarrow-0-False] dask/dataframe/io/tests/test_parquet.py::test_extra_file[pyarrow-b] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_extra_file[pyarrow-b] dask/dataframe/io/tests/test_parquet.py::test_extra_file[pyarrow-None] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_groupby dask/dataframe/dask_expr/tests/test_collection.py::test_expression_bool_raises [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_expression_bool_raises dask/dataframe/dask_expr/tests/test_collection.py::test_expr_is_scalar [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_expr_is_scalar dask/dataframe/dask_expr/tests/test_collection.py::test_replace_filtered_combine_similar [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_extra_file[pyarrow-None] dask/dataframe/io/tests/test_parquet.py::test_unsupported_extension_file[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_unsupported_extension_file[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_unsupported_extension_dir[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_unsupported_extension_dir[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_custom_filename[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_custom_filename[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_custom_filename_works_with_pyarrow_when_append_is_true [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_custom_filename_works_with_pyarrow_when_append_is_true dask/dataframe/io/tests/test_parquet.py::test_throws_error_if_custom_filename_is_invalid[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_throws_error_if_custom_filename_is_invalid[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_custom_filename_with_partition[pyarrow] [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_replace_filtered_combine_similar dask/dataframe/dask_expr/tests/test_collection.py::test_quantile_frame [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_custom_filename_with_partition[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_roundtrip_partitioned_pyarrow_dataset[pyarrow] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_quantile_frame dask/dataframe/dask_expr/tests/test_collection.py::test_combine [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_partitioned_pyarrow_dataset[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-set] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-set] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-list] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-list] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-tuple] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_can_use_iterables[pyarrow-tuple] dask/dataframe/io/tests/test_parquet.py::test_not_in_predicate[pyarrow] [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_combine dask/dataframe/dask_expr/tests/test_collection.py::test_quantile [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_not_in_predicate[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-one-item-single-nest] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-one-item-single-nest] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-one-item-double-nest] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-one-item-double-nest] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-two-item-double-nest] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-two-item-double-nest] dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-two-item-two-nest] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_in_predicate_requires_an_iterable[pyarrow-two-item-two-nest] dask/dataframe/io/tests/test_parquet.py::test_gpu_write_parquet_simple [gw0] [ 58%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_gpu_write_parquet_simple dask/dataframe/io/tests/test_parquet.py::test_fsspec_to_parquet_filesystem_option [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_fsspec_to_parquet_filesystem_option dask/dataframe/io/tests/test_parquet.py::test_select_filtered_column[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_select_filtered_column[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_select_filtered_column_no_stats[pyarrow] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_quantile dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[inner] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_select_filtered_column_no_stats[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string[pyarrow-True] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string[pyarrow-True] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string[pyarrow-False] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string[pyarrow-False] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string_nullable_mapper[pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_convert_string_nullable_mapper[pyarrow] dask/dataframe/io/tests/test_parquet.py::test_dtype_backend[pyarrow-numpy_nullable] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_dtype_backend[pyarrow-numpy_nullable] dask/dataframe/io/tests/test_parquet.py::test_dtype_backend[pyarrow-pyarrow] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_dtype_backend[pyarrow-pyarrow] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_preserve_categorical_column_dtype [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[inner] dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[outer] [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_preserve_categorical_column_dtype dask/dataframe/io/tests/test_parquet.py::test_dtype_backend_categoricals [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_dtype_backend_categoricals dask/dataframe/io/tests/test_parquet.py::test_non_categorical_partitioning_pyarrow[None] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_non_categorical_partitioning_pyarrow[None] dask/dataframe/io/tests/test_parquet.py::test_non_categorical_partitioning_pyarrow[filters1] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_non_categorical_partitioning_pyarrow[filters1] dask/dataframe/io/tests/test_parquet.py::test_read_parquet_lists_not_converting [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_read_parquet_lists_not_converting dask/dataframe/io/tests/test_parquet.py::test_parquet_string_roundtrip [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_parquet.py::test_parquet_string_roundtrip dask/dataframe/io/tests/test_parquet.py::test_parquet_botocore_exception [gw0] [ 58%] SKIPPED dask/dataframe/io/tests/test_parquet.py::test_parquet_botocore_exception dask/dataframe/io/tests/test_sql.py::test_empty [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_empty dask/dataframe/io/tests/test_sql.py::test_single_column[True] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[outer] dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[left] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_single_column[True] dask/dataframe/io/tests/test_sql.py::test_single_column[False] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_single_column[False] dask/dataframe/io/tests/test_sql.py::test_passing_engine_as_uri_raises_helpful_error [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_passing_engine_as_uri_raises_helpful_error dask/dataframe/io/tests/test_sql.py::test_empty_other_schema [gw0] [ 58%] SKIPPED dask/dataframe/io/tests/test_sql.py::test_empty_other_schema dask/dataframe/io/tests/test_sql.py::test_needs_rational [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[left] dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[right] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_needs_rational dask/dataframe/io/tests/test_sql.py::test_simple [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_align_axis[right] dask/dataframe/dask_expr/tests/test_collection.py::test_quantile_datetime_numeric_only_false [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_simple dask/dataframe/io/tests/test_sql.py::test_npartitions [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_quantile_datetime_numeric_only_false dask/dataframe/dask_expr/tests/test_collection.py::test_dtype [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_npartitions dask/dataframe/io/tests/test_sql.py::test_divisions [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dtype dask/dataframe/dask_expr/tests/test_collection.py::test_isnull [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_divisions dask/dataframe/io/tests/test_sql.py::test_division_or_partition [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_isnull dask/dataframe/dask_expr/tests/test_collection.py::test_scalar_to_series [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_scalar_to_series dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[B-False] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_division_or_partition dask/dataframe/io/tests/test_sql.py::test_meta [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_meta dask/dataframe/io/tests/test_sql.py::test_meta_no_head_rows [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[B-False] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[D-True] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_meta_no_head_rows dask/dataframe/io/tests/test_sql.py::test_no_meta_no_head_rows [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_no_meta_no_head_rows dask/dataframe/io/tests/test_sql.py::test_limits [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_limits dask/dataframe/io/tests/test_sql.py::test_datetimes [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_datetimes dask/dataframe/io/tests/test_sql.py::test_extra_connection_engine_keywords [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[D-True] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[h-True] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_extra_connection_engine_keywords dask/dataframe/io/tests/test_sql.py::test_query [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_query dask/dataframe/io/tests/test_sql.py::test_query_index_from_query [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[h-True] dask/dataframe/dask_expr/tests/test_collection.py::test_isin_head [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_sql.py::test_query_index_from_query dask/dataframe/io/tests/test_sql.py::test_query_with_meta [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_query_with_meta dask/dataframe/io/tests/test_sql.py::test_no_character_index_without_divisions [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_no_character_index_without_divisions dask/dataframe/io/tests/test_sql.py::test_read_sql [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_head dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions_divisions [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_read_sql dask/dataframe/io/tests/test_sql.py::test_to_sql[False-1] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions_divisions dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[D-True] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[D-True] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[h-True] [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_to_sql[False-1] dask/dataframe/io/tests/test_sql.py::test_to_sql[False-2] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[h-True] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[min] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[min] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[D] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[D] dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[h] [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_sql.py::test_to_sql[False-2] dask/dataframe/io/tests/test_sql.py::test_to_sql[True-1] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[h] dask/dataframe/dask_expr/tests/test_collection.py::test_iter [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_iter dask/dataframe/dask_expr/tests/test_collection.py::test_items [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_to_sql[True-1] dask/dataframe/io/tests/test_sql.py::test_to_sql[True-2] [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_items dask/dataframe/dask_expr/tests/test_collection.py::test_isin_strings [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_isin_strings dask/dataframe/dask_expr/tests/test_collection.py::test_predicate_pushdown_ndim_change [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_predicate_pushdown_ndim_change dask/dataframe/dask_expr/tests/test_collection.py::test_axes [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_axes dask/dataframe/dask_expr/tests/test_collection.py::test_filter_optimize_condition [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_filter_optimize_condition dask/dataframe/dask_expr/tests/test_collection.py::test_scalar_repr [gw0] [ 58%] FAILED dask/dataframe/io/tests/test_sql.py::test_to_sql[True-2] dask/dataframe/io/tests/test_sql.py::test_to_sql_kwargs [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_to_sql_kwargs dask/dataframe/io/tests/test_sql.py::test_to_sql_engine_kwargs [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_scalar_repr dask/dataframe/dask_expr/tests/test_collection.py::test_array_conversion [gw0] [ 58%] PASSED dask/dataframe/io/tests/test_sql.py::test_to_sql_engine_kwargs dask/dataframe/tests/test_accessors.py::test_register[Series-register_series_accessor] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_register[Series-register_series_accessor] dask/dataframe/tests/test_accessors.py::test_register[DataFrame-register_dataframe_accessor] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_register[DataFrame-register_dataframe_accessor] dask/dataframe/tests/test_accessors.py::test_register[Index-register_index_accessor] [gw0] [ 58%] SKIPPED dask/dataframe/tests/test_accessors.py::test_register[Index-register_index_accessor] dask/dataframe/tests/test_accessors.py::test_accessor_works [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_accessor_works dask/dataframe/tests/test_accessors.py::test_dt_accessor [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_array_conversion dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_filter_pushdown [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_dt_accessor dask/dataframe/tests/test_accessors.py::test_dt_accessor_not_available [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_filter_pushdown dask/dataframe/dask_expr/tests/test_collection.py::test_astype_filter_pushdown [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_dt_accessor_not_available dask/dataframe/tests/test_accessors.py::test_str_accessor [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor dask/dataframe/tests/test_accessors.py::test_str_accessor_not_available [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_filter_pushdown dask/dataframe/dask_expr/tests/test_collection.py::test_warn_annotations [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_warn_annotations dask/dataframe/dask_expr/tests/test_collection.py::test_drop_columns_with_common_prefix [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_drop_columns_with_common_prefix dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime_repr [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime_repr dask/dataframe/dask_expr/tests/test_collection.py::test_drop_set [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_not_available dask/dataframe/tests/test_accessors.py::test_str_accessor_getitem [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_set dask/dataframe/dask_expr/tests/test_collection.py::test_shape_integer [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_getitem dask/dataframe/tests/test_accessors.py::test_str_accessor_extractall [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shape_integer dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs0] [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_extractall dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removeprefix] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs0] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs1] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs1] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs2] [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removeprefix] dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removesuffix] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs2] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs3] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs3] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs4] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs4] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs5] [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removesuffix] dask/dataframe/tests/test_accessors.py::test_str_accessor_cat [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs5] dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs6] [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_melt[kwargs6] dask/dataframe/dask_expr/tests/test_collection.py::test_assign_projection_mix [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_cat dask/dataframe/tests/test_accessors.py::test_str_accessor_cat_none [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_accessor_cat_none dask/dataframe/tests/test_accessors.py::test_str_accessor_split_noexpand[split] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_accessor_split_noexpand[split] dask/dataframe/tests/test_accessors.py::test_str_accessor_split_noexpand[rsplit] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_accessor_split_noexpand[rsplit] dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand[split] [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_assign_projection_mix dask/dataframe/dask_expr/tests/test_collection.py::test_assign_overwriting_column [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand[split] dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand[rsplit] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand[rsplit] dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand_more_columns [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_overwriting_column dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_merge [gw0] [ 58%] XFAIL dask/dataframe/tests/test_accessors.py::test_str_accessor_split_expand_more_columns dask/dataframe/tests/test_accessors.py::test_str_split_no_warning[range_index] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_split_no_warning[range_index] dask/dataframe/tests/test_accessors.py::test_str_split_no_warning[other index] [gw0] [ 58%] PASSED dask/dataframe/tests/test_accessors.py::test_str_split_no_warning[other index] dask/dataframe/tests/test_accessors.py::test_string_nullable_types [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_merge dask/dataframe/dask_expr/tests/test_collection.py::test_empty_from_pandas_projection [gw0] [ 58%] ERROR dask/dataframe/tests/test_accessors.py::test_string_nullable_types dask/dataframe/tests/test_api.py::test_api [gw0] [ 58%] PASSED dask/dataframe/tests/test_api.py::test_api dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_arithmetic_names [gw0] [ 58%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_arithmetic_names dask/dataframe/tests/test_arithmetics_reduction.py::test_arithmetics_different_index [gw0] [ 58%] SKIPPED dask/dataframe/tests/test_arithmetics_reduction.py::test_arithmetics_different_index dask/dataframe/tests/test_arithmetics_reduction.py::test_frame_series_arithmetic_methods [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_empty_from_pandas_projection dask/dataframe/dask_expr/tests/test_collection.py::test_binop_scalar_left [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_binop_scalar_left dask/dataframe/dask_expr/tests/test_collection.py::test_to_backend_simplify [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_to_backend_simplify dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_triggering_unnecessary_alignment [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_triggering_unnecessary_alignment dask/dataframe/dask_expr/tests/test_collection.py::test_projection_on_series [gw1] [ 58%] PASSED dask/dataframe/dask_expr/tests/test_collection.py::test_projection_on_series dask/dataframe/dask_expr/tests/test_collection.py::test_align_known_divisions_in_assign [gw1] [ 58%] FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_align_known_divisions_in_assign dask/dataframe/dask_expr/tests/test_concat.py::test_concat_str [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_str dask/dataframe/dask_expr/tests/test_concat.py::test_concat [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat dask/dataframe/dask_expr/tests/test_concat.py::test_concat_pdf [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_pdf dask/dataframe/dask_expr/tests/test_concat.py::test_concat_divisions [gw1] [ 58%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_divisions dask/dataframe/dask_expr/tests/test_concat.py::test_invalid_joins[right] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_invalid_joins[right] dask/dataframe/dask_expr/tests/test_concat.py::test_invalid_joins[left] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_invalid_joins[left] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_invalid [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_invalid dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_object [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_object dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_no_columns [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_no_columns dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify_projection_not_added [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify_projection_not_added dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_co_aligned [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_co_aligned dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_all_divisions_unknown [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_all_divisions_unknown dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_drop_dfs_not_selected [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_drop_dfs_not_selected dask/dataframe/dask_expr/tests/test_concat.py::test_concat_ignore_order [gw1] [ 59%] FAILED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_ignore_order dask/dataframe/dask_expr/tests/test_concat.py::test_concat_index [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_index dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_series [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_series dask/dataframe/dask_expr/tests/test_concat.py::test_concat_dataframe_empty [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_dataframe_empty dask/dataframe/dask_expr/tests/test_concat.py::test_concat_after_merge [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_after_merge dask/dataframe/dask_expr/tests/test_concat.py::test_concat4_interleave_partitions [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat4_interleave_partitions dask/dataframe/dask_expr/tests/test_concat.py::test_concat5 [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat5 dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series_and_projection [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series_and_projection dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[inner-1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[inner-1] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[inner-2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[inner-2] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[outer-1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[outer-1] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[outer-2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_single_partition_known_divisions[outer-2] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_mixed_dtype_columns [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_mixed_dtype_columns dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[True-0] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[True-0] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[True-1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[True-1] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[False-0] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[False-0] dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[False-1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_concat.py::test_concat_optimize_project[False-1] dask/dataframe/dask_expr/tests/test_core.py::test_endless_simplify [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_core.py::test_endless_simplify dask/dataframe/dask_expr/tests/test_core.py::test_expr_nondeterministic_token_pickle_roundtrip [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_core.py::test_expr_nondeterministic_token_pickle_roundtrip dask/dataframe/dask_expr/tests/test_core.py::test_combine_multiple_dataframes [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_core.py::test_combine_multiple_dataframes dask/dataframe/dask_expr/tests/test_cumulative.py::test_cumulative_empty_partitions [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_cumulative.py::test_cumulative_empty_partitions dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries dask/dataframe/dask_expr/tests/test_datasets.py::test_optimization [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_optimization dask/dataframe/dask_expr/tests/test_datasets.py::test_arrow_string_option [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_frame_series_arithmetic_methods dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions[False] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_arrow_string_option dask/dataframe/dask_expr/tests/test_datasets.py::test_column_projection_deterministic [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_column_projection_deterministic dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_culling [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_culling dask/dataframe/dask_expr/tests/test_datasets.py::test_persist [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_persist dask/dataframe/dask_expr/tests/test_datasets.py::test_lengths [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_lengths dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_empty_projection [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_empty_projection dask/dataframe/dask_expr/tests/test_datasets.py::test_combine_similar [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_combine_similar dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_deterministic_head[42] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_deterministic_head[42] dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_deterministic_head[None] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_timeseries_deterministic_head[None] dask/dataframe/dask_expr/tests/test_datasets.py::test_dataset_head [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datasets.py::test_dataset_head dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[ceil-args0] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[ceil-args0] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[day_name-args1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[day_name-args1] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[floor-args2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[floor-args2] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[isocalendar-args3] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[isocalendar-args3] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[month_name-args4] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[month_name-args4] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[normalize-args5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[normalize-args5] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[round-args6] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[round-args6] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[strftime-args7] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[strftime-args7] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[to_period-args8] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_methods[to_period-args8] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[date] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[date] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day_of_week] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day_of_week] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day_of_year] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[day_of_year] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[dayofweek] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[dayofweek] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[dayofyear] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[dayofyear] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[days_in_month] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[days_in_month] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[daysinmonth] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[daysinmonth] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[hour] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[hour] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_leap_year] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_leap_year] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_month_end] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_month_end] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_month_start] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_month_start] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_quarter_end] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_quarter_end] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_quarter_start] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions[2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_quarter_start] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_year_end] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_year_end] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_year_start] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[is_year_start] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[microsecond] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[microsecond] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[minute] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[minute] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[month] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[month] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[nanosecond] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[nanosecond] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[quarter] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[quarter] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[second] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[second] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[time] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[time] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[timetz] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[timetz] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[weekday] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[weekday] dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[year] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_datetime_accessor_properties[year] dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[components] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[components] dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[days] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[days] dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[microseconds] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[microseconds] dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[nanoseconds] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[nanoseconds] dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[seconds] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_timedelta_accessor_properties[seconds] dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[end_time] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[end_time] dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[start_time] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[start_time] dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[qyear] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[qyear] dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[week] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[week] dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[weekofyear] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_datetime.py::test_period_accessor_properties[weekofyear] dask/dataframe/dask_expr/tests/test_describe.py::test_describe_series [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_describe.py::test_describe_series dask/dataframe/dask_expr/tests/test_describe.py::test_describe_df [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_describe.py::test_describe_df dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data0] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data0] dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data1] dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_dummies.py::test_get_dummies[data2] dask/dataframe/dask_expr/tests/test_format.py::test_to_string [gw1] [ 59%] SKIPPED dask/dataframe/dask_expr/tests/test_format.py::test_to_string dask/dataframe/dask_expr/tests/test_format.py::test_series_format [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_format.py::test_series_format dask/dataframe/dask_expr/tests/test_format.py::test_series_repr [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_format.py::test_series_repr dask/dataframe/dask_expr/tests/test_format.py::test_df_repr [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_format.py::test_df_repr dask/dataframe/dask_expr/tests/test_format.py::test_df_to_html [gw1] [ 59%] SKIPPED dask/dataframe/dask_expr/tests/test_format.py::test_df_to_html dask/dataframe/dask_expr/tests/test_fusion.py::test_simple [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_simple dask/dataframe/dask_expr/tests/test_fusion.py::test_with_non_fusable_on_top [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_with_non_fusable_on_top dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_many [gw1] [ 59%] FAILED dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_many dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_repeat [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_repeat dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_broadcast [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_broadcast dask/dataframe/dask_expr/tests/test_fusion.py::test_persist_with_fusion [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_persist_with_fusion dask/dataframe/dask_expr/tests/test_fusion.py::test_fuse_broadcast_deps [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_fusion.py::test_fuse_broadcast_deps dask/dataframe/dask_expr/tests/test_fusion.py::test_name [gw1] [ 59%] ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_name dask/dataframe/dask_expr/tests/test_fusion.py::test_fusion_executes_only_once [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_fusion.py::test_fusion_executes_only_once dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_unsupported_by [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_unsupported_by dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-sum-None] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-sum-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-sum-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-sum-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-mean-None] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-mean-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-mean-5] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_timedelta[False] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_timedelta[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_timedelta[2] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_timedelta[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[sum-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[sum-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[sum-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[sum-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[prod-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[prod-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[prod-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[prod-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[product-0] [gw0] [ 59%] SKIPPED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[product-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[product-1] [gw0] [ 59%] SKIPPED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[product-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[min-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[min-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[min-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[min-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[max-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[max-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[max-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[max-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[mean-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[mean-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[mean-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[mean-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[var-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[var-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[var-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[var-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[std-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[std-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[std-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[std-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[all-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[all-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[all-1] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-mean-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-min-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[all-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[any-0] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[any-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[any-1] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_numpy_dispatch[any-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_allany[False] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-min-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-min-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-min-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-max-None] [gw0] [ 59%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_allany[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_allany[2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-max-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-max-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-max-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-prod-None] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-prod-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-prod-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-prod-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-first-None] [gw0] [ 59%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_allany[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_reduction_names[False] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_reduction_names[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_reduction_names[2] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_deterministic_reduction_names[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_reduction_series_invalid_axis [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reduction_series_invalid_axis dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_non_numeric_dtypes [gw0] [ 59%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_non_numeric_dtypes dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame[False] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-first-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-first-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-first-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-last-None] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-last-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-last-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-last-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-var-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame[2] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-var-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-var-5] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-var-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-std-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sum-None] [gw0] [ 59%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sum-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-prod-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-prod-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-product-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-product-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-mean-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-mean-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs5] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs5] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs6] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs6] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs7] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-std-kwargs7] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-min-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-min-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-max-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-max-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-count-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-count-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs12] [gw1] [ 59%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-std-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-std-5] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs12] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs13] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs13] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs14] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-sem-kwargs14] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-None] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs16] [gw0] [ 59%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs16] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs17] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs17] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs18] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[None-var-kwargs18] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sum-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sum-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-prod-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-prod-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-product-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-product-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-mean-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-mean-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs5] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs6] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs6] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs7] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-std-kwargs7] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-min-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-min-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-max-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-max-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-count-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-count-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs12] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-std-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-idxmin-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs12] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs13] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs13] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs14] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-sem-kwargs14] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs16] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-idxmin-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-idxmin-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs16] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs17] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs17] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs18] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[True-var-kwargs18] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sum-None] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[True-idxmin-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-sum-None] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-sum-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-sum-5] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-sum-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-mean-None] [gw0] [ 60%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sum-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-prod-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-prod-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-product-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-product-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-mean-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-mean-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs5] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs5] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs6] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs6] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs7] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-std-kwargs7] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-min-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-min-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-max-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-max-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-count-None] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-mean-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-mean-5] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-count-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs12] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs12] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs13] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs13] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs14] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-sem-kwargs14] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-None] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-None] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs16] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs16] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs17] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs17] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs18] [gw0] [ 60%] XPASS dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes[False-var-kwargs18] dask/dataframe/tests/test_arithmetics_reduction.py::test_count_numeric_only_axis_one [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-mean-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-min-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_count_numeric_only_axis_one dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[sum] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[sum] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[prod] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-min-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-min-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[prod] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[product] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[product] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[min] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-min-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-max-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[min] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[max] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-max-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-max-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[max] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[count] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-max-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-prod-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[count] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[std] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-prod-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-prod-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[std] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[var] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[var] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[quantile] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-prod-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-first-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only_supported[quantile] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only[mean] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-first-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-first-5] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-first-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-last-None] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only[mean] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only[sem] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-last-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-last-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_dtypes_numeric_only[sem] dask/dataframe/tests/test_arithmetics_reduction.py::test_skew_kurt_numeric_only_false[skew] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_skew_kurt_numeric_only_false[skew] dask/dataframe/tests/test_arithmetics_reduction.py::test_skew_kurt_numeric_only_false[kurtosis] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_skew_kurt_numeric_only_false[kurtosis] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_nan[False] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-last-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-var-None] [gw1] [ 60%] XFAIL dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-var-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-var-5] [gw1] [ 60%] XFAIL dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-var-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-std-None] [gw1] [ 60%] XFAIL dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-std-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-std-5] [gw1] [ 60%] XFAIL dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-std-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-idxmin-None] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-idxmin-None] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-idxmin-5] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_nan[False] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_nan[2] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric[False-idxmin-5] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_reduction_optimize [gw1] [ 60%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_reduction_optimize dask/dataframe/dask_expr/tests/test_groupby.py::test_std_columns_int [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_std_columns_int dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[count] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[count] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[value_counts] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_frame_nan[2] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[lt] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[lt] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[gt] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[gt] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[le] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[le] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[ge] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[value_counts] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[size] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[ge] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[ne] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[ne] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[eq] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_comparison_nan[eq] dask/dataframe/tests/test_arithmetics_reduction.py::test_sum_intna [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_sum_intna dask/dataframe/tests/test_arithmetics_reduction.py::test_divmod [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_divmod dask/dataframe/tests/test_arithmetics_reduction.py::test_moment [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_moment dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[sum] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[size] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[head] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[sum] dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[count] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[count] dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[mean] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[mean] dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[var] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[var] dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[sem] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[head] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[tail] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_empty_df_reductions[sem] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-sum] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-sum] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-prod] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-prod] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-product] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[0-product] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-sum] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-sum] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-prod] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-prod] dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-product] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_series_agg_with_min_count[9-product] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[True-0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_no_numeric_only[tail] dask/dataframe/dask_expr/tests/test_groupby.py::test_value_counts_split_out [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[True-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[True-1] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[True-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[False-0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_value_counts_split_out dask/dataframe/dask_expr/tests/test_groupby.py::test_unique [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_unique dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_mean_slice [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[False-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[False-1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_mean_slice dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_grouper_single [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_grouper_single dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_agg_reduces [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_slice_agg_reduces dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_nunique [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[False-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[None-0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_nunique dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_series [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_series dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[True] [gw1] [ 60%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[True] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[False] [gw1] [ 60%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[False] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[None] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[None-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[None-1] [gw1] [ 60%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_group_keys[None] dask/dataframe/dask_expr/tests/test_groupby.py::test_dataframe_aggregations_multilevel [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_dataframe_aggregations_multilevel dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec0] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec2] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_creates_copy_cols[None-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-False-0] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-False-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-False-1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec3] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-False-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-True-0] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-True-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-True-1] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[True-True-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-False-0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec3] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec4] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[spec4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[sum] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[median] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-False-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-False-1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg[median] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[cov-True] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[cov-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[cov-False] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[cov-False] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[corr-True] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-False-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-True-0] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[corr-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[corr-False] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_cov[corr-False] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[sum] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[spec1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[spec1] dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[spec2] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-True-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-True-1] [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_series_groupby_agg[spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_getitem_agg [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_getitem_agg dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_column_projection [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_column_projection dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_split_every [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_split_every dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index [gw1] [ 60%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_index dask/dataframe/dask_expr/tests/test_groupby.py::test_split_out_automatically [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[False-True-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-False-0] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-False-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-False-1] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-False-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-True-0] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-True-0] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-True-1] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_with_larger_dataset[None-True-1] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[True-False] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[True-False] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[True-True] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[True-True] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[False-False] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[False-False] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[False-True] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[False-True] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[None-False] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[None-False] dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[None-True] [gw0] [ 60%] FAILED dask/dataframe/tests/test_arithmetics_reduction.py::test_datetime_std_across_axis1_null_results[None-True] dask/dataframe/tests/test_arithmetics_reduction.py::test_std_raises_on_index [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_std_raises_on_index dask/dataframe/tests/test_arithmetics_reduction.py::test_std_raises_with_arrow_string_ea [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_std_raises_with_arrow_string_ea dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-int64[pyarrow]] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-int64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-float64[pyarrow]] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-float64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Int64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Int64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Int32] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Int32] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Float64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-Float64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-UInt64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[std-UInt64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-int64[pyarrow]] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-int64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-float64[pyarrow]] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-float64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Int64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Int64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Int32] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Int32] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Float64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-Float64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-UInt64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[var-UInt64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-int64[pyarrow]] [gw0] [ 60%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-int64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-float64[pyarrow]] [gw0] [ 60%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-float64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Int64] [gw0] [ 60%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Int64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Int32] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Int32] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Float64] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-Float64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-UInt64] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[skew-UInt64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-int64[pyarrow]] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-int64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-float64[pyarrow]] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-float64[pyarrow]] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Int64] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Int64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Int32] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Int32] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Float64] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-Float64] dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-UInt64] [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_reductions_with_pandas_and_arrow_ea[kurtosis-UInt64] dask/dataframe/tests/test_arithmetics_reduction.py::test_quantile_arrow_dtype [gw0] [ 61%] PASSED dask/dataframe/tests/test_arithmetics_reduction.py::test_quantile_arrow_dtype dask/dataframe/tests/test_boolean.py::test_meta [gw0] [ 61%] PASSED dask/dataframe/tests/test_boolean.py::test_meta dask/dataframe/tests/test_boolean.py::test_ops [gw0] [ 61%] PASSED dask/dataframe/tests/test_boolean.py::test_ops dask/dataframe/tests/test_categorical.py::test_concat_unions_categoricals [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_concat_unions_categoricals dask/dataframe/tests/test_categorical.py::test_unknown_categories_cudf [gw0] [ 61%] SKIPPED dask/dataframe/tests/test_categorical.py::test_unknown_categories_cudf dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-True] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-False] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-None] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-None-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-True] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-False] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-None] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-1-10-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-True] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-False] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-None] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-None-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-True] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-False] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-None] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[disk-4-10-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-True] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-False] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_split_out_automatically dask/dataframe/dask_expr/tests/test_groupby.py::test_split_out_sort_values_compute [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_split_out_sort_values_compute dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_repartition_to_one [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_repartition_to_one dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_transform [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-None] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_transform dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_shift [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_shift dask/dataframe/dask_expr/tests/test_groupby.py::test_size [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_size dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric_only_lambda_caller [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-None-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-True] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_numeric_only_lambda_caller dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-sum] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-mean] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-mean] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-min] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-min] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-max] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-False] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-max] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-prod] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-prod] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-var] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-std] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-None] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-size] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-True-size] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-sum] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-mean] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-1-10-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-True] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-mean] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-min] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-min] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-max] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-max] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-prod] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-prod] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-var] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-False] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-std] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-None] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-size] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[1-False-size] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-sum] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-mean] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-mean] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-min] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-min] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-max] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-max] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-prod] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-prod] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-var] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-None-None] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-True] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-std] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-True] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-False] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-size] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-True-size] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-sum] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-False] dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-None] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-mean] [gw0] [ 61%] XFAIL dask/dataframe/tests/test_categorical.py::test_unknown_categoricals[tasks-4-10-None] dask/dataframe/tests/test_categorical.py::test_categorize [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-mean] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-min] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-min] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-max] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorize dask/dataframe/tests/test_categorical.py::test_categorical_dtype [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_categorical_dtype dask/dataframe/tests/test_categorical.py::test_categorize_index [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_categorize_index dask/dataframe/tests/test_categorical.py::test_categorical_set_index[disk] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index[disk] dask/dataframe/tests/test_categorical.py::test_categorical_set_index[tasks] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-max] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-prod] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index[tasks] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-prod] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-var] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-1] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-3] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-3] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-6] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-var] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-std] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[1-6] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-1] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-1] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-3] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-std] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-size] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-3] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-6] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_single_agg_split_out[2-False-size] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-False] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-False] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[3-6] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-1] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-False] [gw1] [ 61%] FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-False] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec0] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec0] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec2] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec3] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-1] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-3] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec3] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec4] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-spec4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-sum] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-True-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec0] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec0] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec2] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec3] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-3] dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-6] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec3] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec4] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-spec4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-sum] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[1-False-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec0] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec0] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec1] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec2] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec2] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec3] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec3] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec4] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-spec4] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-sum] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorical_set_index_npartitions_vs_ncategories[6-6] dask/dataframe/tests/test_categorical.py::test_repartition_on_categoricals[1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-True-sum] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec0] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec0] dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec1] [gw1] [ 61%] PASSED dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_agg_split_out[2-False-spec1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-6] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_repartition_on_categoricals[1] dask/dataframe/tests/test_categorical.py::test_repartition_on_categoricals[4] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-0] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-1] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-2] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-3] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-4] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-5] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_repartition_on_categoricals[4] dask/dataframe/tests/test_categorical.py::test_categorical_accessor_presence [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::test_categorical_accessor_presence dask/dataframe/tests/test_categorical.py::test_categorize_nan [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-6] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-0] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-1] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-2] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_categorize_nan dask/dataframe/tests/test_categorical.py::test_return_type_known_categories [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-3] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-4] [gw0] [ 61%] FAILED dask/dataframe/tests/test_categorical.py::test_return_type_known_categories dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[categories-assert_array_index_eq-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[ordered-assert_eq-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_properties[codes-assert_array_index_eq-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series1] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-5] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[add_categories-kwargs0-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs1-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series2] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-6] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_unordered-kwargs2-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[as_ordered-kwargs3-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_categories-kwargs4-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series1] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[var-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series2] [gw1] [ 61%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[rename_categories-kwargs5-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[reorder_categories-kwargs6-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[set_categories-kwargs7-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series2] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_callable[remove_unused_categories-kwargs8-series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_empty [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_empty dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series0] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series0] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series1] [gw0] [ 61%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series1] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series2] [gw0] [ 62%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_unknown_categories[series2] dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_string_ops [gw0] [ 62%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_string_ops dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_non_string_raises [gw0] [ 62%] PASSED dask/dataframe/tests/test_categorical.py::TestCategoricalAccessor::test_categorical_non_string_raises dask/dataframe/tests/test_dataframe.py::test_Dataframe [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-2] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-3] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_Dataframe dask/dataframe/tests/test_dataframe.py::test_head_tail [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_head_tail dask/dataframe/tests/test_dataframe.py::test_head_npartitions [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-4] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_head_npartitions dask/dataframe/tests/test_dataframe.py::test_head_npartitions_warn [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_head_npartitions_warn dask/dataframe/tests/test_dataframe.py::test_index_head [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_head dask/dataframe/tests/test_dataframe.py::test_Series [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_Series dask/dataframe/tests/test_dataframe.py::test_Index [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_Index dask/dataframe/tests/test_dataframe.py::test_axes [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_axes dask/dataframe/tests/test_dataframe.py::test_series_axes [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_axes dask/dataframe/tests/test_dataframe.py::test_attributes [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_attributes dask/dataframe/tests/test_dataframe.py::test_column_names [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_column_names dask/dataframe/tests/test_dataframe.py::test_columns_named_divisions_and_meta [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-5] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_columns_named_divisions_and_meta dask/dataframe/tests/test_dataframe.py::test_index_names [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_names dask/dataframe/tests/test_dataframe.py::test_rename_columns [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_columns dask/dataframe/tests/test_dataframe.py::test_rename_series [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_series dask/dataframe/tests/test_dataframe.py::test_rename_series_method [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-6] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_series_method dask/dataframe/tests/test_dataframe.py::test_rename_series_method_2 [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_series_method_2 dask/dataframe/tests/test_dataframe.py::test_describe_numeric[tdigest-test_values0] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-0] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-1] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-2] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-3] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_numeric[tdigest-test_values0] dask/dataframe/tests/test_dataframe.py::test_describe_numeric[dask-test_values1] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-4] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-5] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-6] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[cov-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-0] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_numeric[dask-test_values1] dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset0] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-2] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-3] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset0] dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset1] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-4] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-5] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-6] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset1] dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset2] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-0] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset2] dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset3] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-1] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset3] dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset4] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-2] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-3] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-None-None-subset4] dask/dataframe/tests/test_dataframe.py::test_describe[all-None-None-None] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-4] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-5] [gw1] [ 62%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-6] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[all-None-None-None] dask/dataframe/tests/test_dataframe.py::test_describe[include6-None-percentiles6-None] [gw1] [ 62%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[corr-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-1] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[include6-None-percentiles6-None] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-3] dask/dataframe/tests/test_dataframe.py::test_describe[include7-None-None-None] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[nunique-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-2] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[include7-None-None-None] dask/dataframe/tests/test_dataframe.py::test_describe[include8-None-percentiles8-None] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[first-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-4] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[include8-None-percentiles8-None] dask/dataframe/tests/test_dataframe.py::test_describe[None-exclude9-None-None] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[last-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-0] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[None-exclude9-None-None] dask/dataframe/tests/test_dataframe.py::test_describe[include10-None-None-None] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-2] [gw0] [ 62%] FAILED dask/dataframe/tests/test_dataframe.py::test_describe[include10-None-None-None] dask/dataframe/tests/test_dataframe.py::test_describe_without_datetime_is_numeric [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-4] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-5] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-6] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[prod-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_agg[disk] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_agg[disk] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_agg[tasks] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_without_datetime_is_numeric dask/dataframe/tests/test_dataframe.py::test_describe_empty [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_agg[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-True-0] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_empty dask/dataframe/tests/test_dataframe.py::test_describe_empty_tdigest [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_empty_tdigest dask/dataframe/tests/test_dataframe.py::test_describe_for_possibly_unsorted_q [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_describe_for_possibly_unsorted_q dask/dataframe/tests/test_dataframe.py::test_cumulative [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-True-0] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-0] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-True-1] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-True-1] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-1] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-1] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-2] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_cumulative dask/dataframe/tests/test_dataframe.py::test_cumulative_with_nans [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-False-2] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-0] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_cumulative_with_nans dask/dataframe/tests/test_dataframe.py::test_cumulative_with_duplicate_columns [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-0] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-0] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-0] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_cumulative_with_duplicate_columns dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func0] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func0] dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func1] dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func2] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-1] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-1] [gw0] [ 62%] XFAIL dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func2] dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func3] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-1] dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-2] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-False-2] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique[disk] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique[disk] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique[tasks] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique[tasks] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique_across_group_same_value[disk] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique_across_group_same_value[disk] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique_across_group_same_value[tasks] [gw0] [ 62%] XFAIL dask/dataframe/tests/test_dataframe.py::test_cumulative_empty_partitions[func3] dask/dataframe/tests/test_dataframe.py::test_dropna [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_nunique_across_group_same_value[tasks] dask/dataframe/tests/test_groupby.py::test_series_groupby_propagates_names[disk] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_propagates_names[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby_propagates_names[tasks] [gw1] [ 62%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_propagates_names[tasks] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_dropna dask/dataframe/tests/test_dataframe.py::test_clip[2-5] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_clip[2-5] dask/dataframe/tests/test_dataframe.py::test_clip[2.5-3.5] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_clip[2.5-3.5] dask/dataframe/tests/test_dataframe.py::test_clip_axis_0 [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_clip_axis_0 dask/dataframe/tests/test_dataframe.py::test_clip_axis_1 [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_clip_axis_1 dask/dataframe/tests/test_dataframe.py::test_squeeze [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_squeeze dask/dataframe/tests/test_dataframe.py::test_where_mask [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-2] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-2] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-1] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-2] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-2] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_where_mask dask/dataframe/tests/test_dataframe.py::test_map_partitions_multi_argument [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-2] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_multi_argument dask/dataframe/tests/test_dataframe.py::test_map_partitions [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions dask/dataframe/tests/test_dataframe.py::test_map_partitions_type [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_type dask/dataframe/tests/test_dataframe.py::test_map_partitions_partition_info [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_partition_info dask/dataframe/tests/test_dataframe.py::test_map_partitions_names [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_names dask/dataframe/tests/test_dataframe.py::test_map_partitions_column_info [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_column_info dask/dataframe/tests/test_dataframe.py::test_map_partitions_method_names [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_method_names dask/dataframe/tests/test_dataframe.py::test_map_partitions_propagates_index_metadata [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_propagates_index_metadata dask/dataframe/tests/test_dataframe.py::test_map_partitions_keeps_kwargs_readable [gw0] [ 62%] XFAIL dask/dataframe/tests/test_dataframe.py::test_map_partitions_keeps_kwargs_readable dask/dataframe/tests/test_dataframe.py::test_map_partitions_with_delayed_collection [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_with_delayed_collection dask/dataframe/tests/test_dataframe.py::test_metadata_inference_single_partition_aligned_args [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_metadata_inference_single_partition_aligned_args dask/dataframe/tests/test_dataframe.py::test_align_dataframes [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_align_dataframes dask/dataframe/tests/test_dataframe.py::test_drop_duplicates[disk] [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-2] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-1] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_drop_duplicates[disk] dask/dataframe/tests/test_dataframe.py::test_drop_duplicates[tasks] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_drop_duplicates[tasks] dask/dataframe/tests/test_dataframe.py::test_drop_duplicates_subset [gw1] [ 62%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-2] [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_drop_duplicates_subset dask/dataframe/tests/test_dataframe.py::test_get_partition [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_get_partition dask/dataframe/tests/test_dataframe.py::test_ndim [gw0] [ 62%] PASSED dask/dataframe/tests/test_dataframe.py::test_ndim dask/dataframe/tests/test_dataframe.py::test_dtype [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dtype dask/dataframe/tests/test_dataframe.py::test_value_counts [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts dask/dataframe/tests/test_dataframe.py::test_value_counts_not_sorted [gw1] [ 63%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-2] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-1] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts_not_sorted dask/dataframe/tests/test_dataframe.py::test_value_counts_with_dropna [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts_with_dropna dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize_and_dropna[True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize_and_dropna[True] dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize_and_dropna[False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_value_counts_with_normalize_and_dropna[False] dask/dataframe/tests/test_dataframe.py::test_unique [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_unique dask/dataframe/tests/test_dataframe.py::test_isin [gw1] [ 63%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-2] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_isin dask/dataframe/tests/test_dataframe.py::test_contains_frame [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_contains_frame dask/dataframe/tests/test_dataframe.py::test_len [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_len dask/dataframe/tests/test_dataframe.py::test_size [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_size dask/dataframe/tests/test_dataframe.py::test_shape [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_shape dask/dataframe/tests/test_dataframe.py::test_nbytes [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_nbytes dask/dataframe/tests/test_dataframe.py::test_quantile[0.3-tdigest] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.3-tdigest] dask/dataframe/tests/test_dataframe.py::test_quantile[0.3-dask] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.3-dask] dask/dataframe/tests/test_dataframe.py::test_quantile[0.5-tdigest] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.5-tdigest] dask/dataframe/tests/test_dataframe.py::test_quantile[0.5-dask] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.5-dask] dask/dataframe/tests/test_dataframe.py::test_quantile[0.9-tdigest] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.9-tdigest] dask/dataframe/tests/test_dataframe.py::test_quantile[0.9-dask] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile[0.9-dask] dask/dataframe/tests/test_dataframe.py::test_quantile_missing[tdigest] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_missing[tdigest] dask/dataframe/tests/test_dataframe.py::test_quantile_missing[dask] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_missing[dask] dask/dataframe/tests/test_dataframe.py::test_empty_quantile[tdigest] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_empty_quantile[tdigest] dask/dataframe/tests/test_dataframe.py::test_empty_quantile[dask] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_empty_quantile[dask] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[None-tdigest-expected0] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[None-tdigest-expected0] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[None-dask-expected1] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[None-dask-expected1] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[True-tdigest-expected0] [gw1] [ 63%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-2] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-1] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[True-tdigest-expected0] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[True-dask-expected1] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[True-dask-expected1] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[False-tdigest-expected0] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[False-tdigest-expected0] dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[False-dask-expected1] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_quantile[False-dask-expected1] dask/dataframe/tests/test_dataframe.py::test_quantile_datetime_numeric_only_false [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_datetime_numeric_only_false dask/dataframe/tests/test_dataframe.py::test_quantile_for_possibly_unsorted_q [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_for_possibly_unsorted_q dask/dataframe/tests/test_dataframe.py::test_quantile_tiny_partitions [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_tiny_partitions dask/dataframe/tests/test_dataframe.py::test_quantile_trivial_partitions [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_quantile_trivial_partitions dask/dataframe/tests/test_dataframe.py::test_index [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_index dask/dataframe/tests/test_dataframe.py::test_assign [gw1] [ 63%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-1] dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-2] [gw0] [ 63%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign dask/dataframe/tests/test_dataframe.py::test_assign_callable [gw1] [ 63%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-2] dask/dataframe/tests/test_groupby.py::test_series_groupby[disk] [gw0] [ 63%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign_callable dask/dataframe/tests/test_dataframe.py::test_assign_dtypes [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby[tasks] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby[tasks] dask/dataframe/tests/test_groupby.py::test_series_groupby_errors[disk] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_errors[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby_errors[tasks] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_errors[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_index_array[disk] [gw0] [ 63%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign_dtypes dask/dataframe/tests/test_dataframe.py::test_assign_pandas_series [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_index_array[disk] dask/dataframe/tests/test_groupby.py::test_groupby_index_array[tasks] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_index_array[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_set_index[disk] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_set_index[disk] dask/dataframe/tests/test_groupby.py::test_groupby_set_index[tasks] [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_set_index[tasks] dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-True] [gw0] [ 63%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign_pandas_series dask/dataframe/tests/test_dataframe.py::test_map [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_map dask/dataframe/tests/test_dataframe.py::test_concat [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_concat dask/dataframe/tests/test_dataframe.py::test_known_divisions [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_known_divisions dask/dataframe/tests/test_dataframe.py::test_unknown_divisions [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_unknown_divisions dask/dataframe/tests/test_dataframe.py::test_with_min_count [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_min_count dask/dataframe/tests/test_dataframe.py::test_align[inner] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align[inner] dask/dataframe/tests/test_dataframe.py::test_align[outer] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align[outer] dask/dataframe/tests/test_dataframe.py::test_align[left] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align[left] dask/dataframe/tests/test_dataframe.py::test_align[right] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align[right] dask/dataframe/tests/test_dataframe.py::test_align_axis[inner] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align_axis[inner] dask/dataframe/tests/test_dataframe.py::test_align_axis[outer] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align_axis[outer] dask/dataframe/tests/test_dataframe.py::test_align_axis[left] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align_axis[left] dask/dataframe/tests/test_dataframe.py::test_align_axis[right] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_align_axis[right] dask/dataframe/tests/test_dataframe.py::test_combine [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_combine dask/dataframe/tests/test_dataframe.py::test_combine_first [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_combine_first dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[f8-i8] [gw0] [ 63%] XFAIL dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[f8-i8] dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[f8-f4] [gw0] [ 63%] XFAIL dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[f8-f4] dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[datetime64[s]-datetime64[ns]] [gw0] [ 63%] XFAIL dask/dataframe/tests/test_dataframe.py::test_combine_first_all_nans[datetime64[s]-datetime64[ns]] dask/dataframe/tests/test_dataframe.py::test_dataframe_picklable [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_picklable dask/dataframe/tests/test_dataframe.py::test_random_partitions [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_random_partitions dask/dataframe/tests/test_dataframe.py::test_series_round [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_round dask/dataframe/tests/test_dataframe.py::test_repartition [gw1] [ 63%] PASSED dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-True] dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition dask/dataframe/tests/test_dataframe.py::test_repartition_on_pandas_dataframe [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_on_pandas_dataframe dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-1-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-2-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-4-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-float-5-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-1-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-2-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-4-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[0-M8[ns]-5-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-1-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-2-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-4-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-4-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-4-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-5-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-5-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-float-5-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-1-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-1-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-2-True] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-2-False] [gw0] [ 63%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-4-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-4-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-1-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-1-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-1-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-4-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-4-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-2-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-1-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-1-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-4-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-4-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-4-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-1-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-1-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-1-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-1-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-4-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-4-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-4-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-4-False] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[1-M8[ns]-5-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-1kiB-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[0-379-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-1kiB-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-2-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-2-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-2-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-2-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-5-True] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-5-True] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-5-False] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size[1-379-5-False] dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size_arg [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_partition_size_arg dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions_same_limits [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions_same_limits dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions_numeric_edge_case [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions_numeric_edge_case dask/dataframe/tests/test_dataframe.py::test_repartition_object_index [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_object_index dask/dataframe/tests/test_dataframe.py::test_repartition_datetime_tz_index [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_datetime_tz_index dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-04-15 12:37:01-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01-2000-01-01 12:37:00-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-04-15 12:37:01-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_0-2000-01-01 12:37:00-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-04-15 12:37:01-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-7D-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-28h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-1] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-1] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-20] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-20] dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-243] [gw0] [ 64%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_repartition_freq[2000-01-01 12:30:00_1-2000-01-01 12:37:00-1h-243] dask/dataframe/tests/test_dataframe.py::test_repartition_freq_divisions [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_freq_divisions dask/dataframe/tests/test_dataframe.py::test_repartition_freq_errors [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_freq_errors dask/dataframe/tests/test_dataframe.py::test_repartition_freq_month [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_freq_month dask/dataframe/tests/test_dataframe.py::test_repartition_freq_day [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_freq_day dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[M-MS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[M-MS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[ME-MS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[ME-MS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[MS-MS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[MS-MS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2M-2MS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2M-2MS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Q-QS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Q-QS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Q-FEB-QS-FEB] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Q-FEB-QS-FEB] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2Q-2QS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2Q-2QS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2Q-FEB-2QS-FEB] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2Q-FEB-2QS-FEB] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2QS-FEB-2QS-FEB] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2QS-FEB-2QS-FEB] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BQ-BQS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BQ-BQS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2BQ-2BQS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2BQ-2BQS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[SM-SMS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[SM-SMS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[A-YS] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[A-YS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-YS0] [gw0] [ 64%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-YS0] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[A-JUN-YS-JUN] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[A-JUN-YS-JUN] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-JUN-YS-JUN] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-JUN-YS-JUN] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BA-BYS] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BA-BYS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2BA-2BYS] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[2BA-2BYS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BY-BYS] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[BY-BYS] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-YS1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[Y-YS1] dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[freq20-expected_freq20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_freq_to_period_start[freq20-expected_freq20] dask/dataframe/tests/test_dataframe.py::test_repartition_input_errors [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_repartition_input_errors dask/dataframe/tests/test_dataframe.py::test_embarrassingly_parallel_operations [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_embarrassingly_parallel_operations dask/dataframe/tests/test_dataframe.py::test_fillna [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_fillna dask/dataframe/tests/test_dataframe.py::test_ffill [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_ffill dask/dataframe/tests/test_dataframe.py::test_bfill [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_bfill dask/dataframe/tests/test_dataframe.py::test_delayed_roundtrip[True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_delayed_roundtrip[True] dask/dataframe/tests/test_dataframe.py::test_delayed_roundtrip[False] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-False] dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_delayed_roundtrip[False] dask/dataframe/tests/test_dataframe.py::test_from_delayed_lazy_if_meta_provided [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_delayed_lazy_if_meta_provided dask/dataframe/tests/test_dataframe.py::test_fillna_duplicate_index [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_fillna_duplicate_index dask/dataframe/tests/test_dataframe.py::test_fillna_multi_dataframe [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_fillna_multi_dataframe dask/dataframe/tests/test_dataframe.py::test_fillna_dask_dataframe_input [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_fillna_dask_dataframe_input dask/dataframe/tests/test_dataframe.py::test_ffill_bfill [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_ffill_bfill dask/dataframe/tests/test_dataframe.py::test_fillna_series_types [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_fillna_series_types dask/dataframe/tests/test_dataframe.py::test_sample [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_sample dask/dataframe/tests/test_dataframe.py::test_sample_without_replacement [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_sample_without_replacement dask/dataframe/tests/test_dataframe.py::test_sample_raises [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_sample_raises dask/dataframe/tests/test_dataframe.py::test_query [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_query dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include0-None] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include0-None] dask/dataframe/tests/test_dataframe.py::test_select_dtypes[None-exclude1] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[None-exclude1] dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include2-exclude2] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include2-exclude2] dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include3-None] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include3-None] dask/dataframe/tests/test_dataframe.py::test_deterministic_apply_concat_apply_names [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_deterministic_apply_concat_apply_names dask/dataframe/tests/test_dataframe.py::test_reduction_method [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_reduction_method dask/dataframe/tests/test_dataframe.py::test_reduction_method_split_every [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_reduction_method_split_every dask/dataframe/tests/test_dataframe.py::test_pipe [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_pipe dask/dataframe/tests/test_dataframe.py::test_gh_517 [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_gh_517 dask/dataframe/tests/test_dataframe.py::test_drop_axis_1 [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_drop_axis_1 dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns0] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns0] dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns1] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns1] dask/dataframe/tests/test_dataframe.py::test_gh580 [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_gh580 dask/dataframe/tests/test_dataframe.py::test_rename_dict [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_dict dask/dataframe/tests/test_dataframe.py::test_rename_function [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_function dask/dataframe/tests/test_dataframe.py::test_rename_index [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_rename_index dask/dataframe/tests/test_dataframe.py::test_to_timestamp [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_timestamp dask/dataframe/tests/test_dataframe.py::test_to_frame [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_frame dask/dataframe/tests/test_dataframe.py::test_to_dask_array_raises[False0] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array_raises[False0] dask/dataframe/tests/test_dataframe.py::test_to_dask_array_raises[False1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array_raises[False1] dask/dataframe/tests/test_dataframe.py::test_to_dask_array_unknown[False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array_unknown[False] dask/dataframe/tests/test_dataframe.py::test_to_dask_array_unknown[True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array_unknown[True] dask/dataframe/tests/test_dataframe.py::test_to_dask_array[lengths0-False-None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array[lengths0-False-None] dask/dataframe/tests/test_dataframe.py::test_to_dask_array[True-False-None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array[True-False-None] dask/dataframe/tests/test_dataframe.py::test_to_dask_array[True-False-meta2] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_dask_array[True-False-meta2] dask/dataframe/tests/test_dataframe.py::test_apply [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_apply dask/dataframe/tests/test_dataframe.py::test_apply_warns [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_apply_warns dask/dataframe/tests/test_dataframe.py::test_dataframe_map[None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_map[None] dask/dataframe/tests/test_dataframe.py::test_dataframe_map[ignore] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_map[ignore] dask/dataframe/tests/test_dataframe.py::test_dataframe_map_raises [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_dataframe_map_raises dask/dataframe/tests/test_dataframe.py::test_add_prefix [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_add_prefix dask/dataframe/tests/test_dataframe.py::test_add_suffix [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_add_suffix dask/dataframe/tests/test_dataframe.py::test_abs [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_abs dask/dataframe/tests/test_dataframe.py::test_round [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_round dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[None] dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[True] dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_dataframe[False] dask/dataframe/tests/test_dataframe.py::test_cov_series [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_series dask/dataframe/tests/test_dataframe.py::test_cov_gpu[None] [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_cov_gpu[None] dask/dataframe/tests/test_dataframe.py::test_cov_gpu[True] [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_cov_gpu[True] dask/dataframe/tests/test_dataframe.py::test_cov_gpu[False] [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_cov_gpu[False] dask/dataframe/tests/test_dataframe.py::test_corr [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_corr dask/dataframe/tests/test_dataframe.py::test_corr_gpu [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_corr_gpu dask/dataframe/tests/test_dataframe.py::test_corr_same_name [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_corr_same_name dask/dataframe/tests/test_dataframe.py::test_cov_corr_meta[1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_corr_meta[1] dask/dataframe/tests/test_dataframe.py::test_cov_corr_meta[2] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-True] dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_cov_corr_meta[2] dask/dataframe/tests/test_dataframe.py::test_cov_corr_stable [gw0] [ 65%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_cov_corr_stable dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[None] [gw0] [ 65%] XFAIL dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[None] dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[True] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[True] dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[False] [gw0] [ 65%] XFAIL dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[False] dask/dataframe/tests/test_dataframe.py::test_autocorr [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_autocorr dask/dataframe/tests/test_dataframe.py::test_apply_infer_columns [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_apply_infer_columns dask/dataframe/tests/test_dataframe.py::test_index_time_properties [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_time_properties dask/dataframe/tests/test_dataframe.py::test_nlargest_nsmallest [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_nlargest_nsmallest dask/dataframe/tests/test_dataframe.py::test_nlargest_nsmallest_raises [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_nlargest_nsmallest_raises dask/dataframe/tests/test_dataframe.py::test_reset_index [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_reset_index dask/dataframe/tests/test_dataframe.py::test_dataframe_compute_forward_kwargs [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_compute_forward_kwargs dask/dataframe/tests/test_dataframe.py::test_series_iter [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_iter dask/dataframe/tests/test_dataframe.py::test_dataframe_iterrows [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_iterrows dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples dask/dataframe/tests/test_dataframe.py::test_dataframe_items[columns0] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_items[columns0] dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples_with_index_false [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples_with_index_false dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples_with_name_none [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_itertuples_with_name_none dask/dataframe/tests/test_dataframe.py::test_astype [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_astype dask/dataframe/tests/test_dataframe.py::test_astype_categoricals [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_astype_categoricals dask/dataframe/tests/test_dataframe.py::test_astype_categoricals_known [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_astype_categoricals_known dask/dataframe/tests/test_dataframe.py::test_groupby_callable [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_groupby_callable dask/dataframe/tests/test_dataframe.py::test_methods_tokenize_differently [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_methods_tokenize_differently dask/dataframe/tests/test_dataframe.py::test_gh_1301 [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_gh_1301 dask/dataframe/tests/test_dataframe.py::test_timeseries_sorted [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_timeseries_sorted dask/dataframe/tests/test_dataframe.py::test_index_errors [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_errors dask/dataframe/tests/test_dataframe.py::test_index_nulls[None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_nulls[None] dask/dataframe/tests/test_dataframe.py::test_index_nulls[null_value1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_nulls[null_value1] dask/dataframe/tests/test_dataframe.py::test_index_nulls[null_value2] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_nulls[null_value2] dask/dataframe/tests/test_dataframe.py::test_set_index_with_index [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_set_index_with_index dask/dataframe/tests/test_dataframe.py::test_column_assignment [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_column_assignment dask/dataframe/tests/test_dataframe.py::test_array_assignment [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_array_assignment dask/dataframe/tests/test_dataframe.py::test_columns_assignment [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_columns_assignment dask/dataframe/tests/test_dataframe.py::test_attribute_assignment [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_attribute_assignment dask/dataframe/tests/test_dataframe.py::test_setitem_triggering_realign [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_setitem_triggering_realign dask/dataframe/tests/test_dataframe.py::test_inplace_operators [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_inplace_operators dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx0-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx0-True] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx0-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx0-False] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx1-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx1-True] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx1-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx1-False] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx2-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx2-True] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx2-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin[idx2-False] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_numeric_only[idxmin] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_numeric_only[idxmin] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_numeric_only[idxmax] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_numeric_only[idxmax] dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_empty_partitions [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_idxmaxmin_empty_partitions dask/dataframe/tests/test_dataframe.py::test_mode_numeric_only [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_mode_numeric_only dask/dataframe/tests/test_dataframe.py::test_getitem_meta [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_meta dask/dataframe/tests/test_dataframe.py::test_getitem_string_subclass [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_string_subclass dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[list] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[list] dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[array] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[array] dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[Series] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[Series] dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[Index] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_column_types[Index] dask/dataframe/tests/test_dataframe.py::test_getitem_with_bool_dataframe_as_key [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_with_bool_dataframe_as_key dask/dataframe/tests/test_dataframe.py::test_getitem_with_non_series [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_getitem_with_non_series dask/dataframe/tests/test_dataframe.py::test_ipython_completion [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_ipython_completion dask/dataframe/tests/test_dataframe.py::test_diff [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_diff dask/dataframe/tests/test_dataframe.py::test_shift [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[B-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[B-False] dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[D-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[D-True] dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[h-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_DatetimeIndex[h-True] dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_PeriodIndex[D-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_PeriodIndex[D-True] dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_PeriodIndex[h-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_PeriodIndex[h-True] dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_TimedeltaIndex [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_TimedeltaIndex dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_errors [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_shift_with_freq_errors dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-2-20] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[1-5-20] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-2-20] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[5-5-20] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-1] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-20] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-disk-split_every] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-2-20] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-1] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-disk-split_out] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-1] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-4] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-4] dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-20] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_hash_split_unique[20-5-20] dask/dataframe/tests/test_dataframe.py::test_split_out_drop_duplicates[None] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-tasks-split_every] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-tasks-split_out] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_split_out_drop_duplicates[None] dask/dataframe/tests/test_dataframe.py::test_split_out_drop_duplicates[2] [gw1] [ 65%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[sum-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-disk-split_every] [gw1] [ 65%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-disk-split_out] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_split_out_drop_duplicates[2] dask/dataframe/tests/test_dataframe.py::test_split_out_value_counts[None] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_split_out_value_counts[None] dask/dataframe/tests/test_dataframe.py::test_split_out_value_counts[2] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_split_out_value_counts[2] dask/dataframe/tests/test_dataframe.py::test_values [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_values dask/dataframe/tests/test_dataframe.py::test_values_extension_dtypes [gw1] [ 65%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-tasks-split_every] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_values_extension_dtypes dask/dataframe/tests/test_dataframe.py::test_copy [gw1] [ 65%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-tasks-split_out] [gw0] [ 65%] FAILED dask/dataframe/tests/test_dataframe.py::test_copy dask/dataframe/tests/test_dataframe.py::test_del [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_del dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[True-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[True-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[True-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[True-False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[False-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[False-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[False-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_dataframe[False-False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[True-True] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[True-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[True-False] [gw0] [ 65%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[True-False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[False-True] [gw1] [ 65%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[mean-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_every] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[False-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[False-False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_series[False-False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_index[True] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_index[True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_index[False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_index[False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[True-True] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[True-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[True-False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[True-False] dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[False-True] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[False-True] dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[False-False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_memory_usage_per_partition[False-False] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[sum] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[sum] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[mean] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[mean] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[std] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[std] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[var] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[var] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[count] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[count] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[min] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[min] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[max] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[max] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[idxmin] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[idxmin] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[idxmax] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[idxmax] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[prod] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[prod] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[all] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[all] dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[sem] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_reductions_arithmetic[sem] dask/dataframe/tests/test_dataframe.py::test_median [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_median dask/dataframe/tests/test_dataframe.py::test_median_approximate[dask] [gw1] [ 66%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_out] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_median_approximate[dask] dask/dataframe/tests/test_dataframe.py::test_median_approximate[tdigest] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_median_approximate[tdigest] dask/dataframe/tests/test_dataframe.py::test_datetime_loc_open_slicing [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_datetime_loc_open_slicing dask/dataframe/tests/test_dataframe.py::test_to_datetime[False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_datetime[False] dask/dataframe/tests/test_dataframe.py::test_to_datetime[True] [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_to_datetime[True] dask/dataframe/tests/test_dataframe.py::test_to_timedelta [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_timedelta dask/dataframe/tests/test_dataframe.py::test_isna[values0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_isna[values0] dask/dataframe/tests/test_dataframe.py::test_isna[values1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_isna[values1] dask/dataframe/tests/test_dataframe.py::test_slice_on_filtered_boundary[0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_slice_on_filtered_boundary[0] dask/dataframe/tests/test_dataframe.py::test_slice_on_filtered_boundary[9] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_slice_on_filtered_boundary[9] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_nonmonotonic [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_nonmonotonic dask/dataframe/tests/test_dataframe.py::test_boundary_slice_empty [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_empty dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1-None-False-False-drop0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1-None-False-False-drop0] dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1-None-False-True-drop1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1-None-False-True-drop1] dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3-False-False-drop2] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3-False-False-drop2] dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3-True-False-drop3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3-True-False-drop3] dask/dataframe/tests/test_dataframe.py::test_with_boundary[-0.5-None-False-False-drop4] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[-0.5-None-False-False-drop4] dask/dataframe/tests/test_dataframe.py::test_with_boundary[-0.5-None-False-True-drop5] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[-0.5-None-False-True-drop5] dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1.5-None-False-True-drop6] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[-1.5-None-False-True-drop6] dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3.5-False-False-drop7] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3.5-False-False-drop7] dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3.5-True-False-drop8] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-3.5-True-False-drop8] dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-2.5-False-False-drop9] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_with_boundary[None-2.5-False-False-drop9] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index0-0-9] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index0-0-9] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index1--1-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index1--1-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index2-None-10] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index2-None-10] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index3-None-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index3-None-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index4--1-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index4--1-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index5-None-2] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index5-None-2] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index6--2-3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index6--2-3] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index7-None-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index7-None-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index8-left8-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index8-left8-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index9-None-right9] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index9-None-right9] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index10-left10-None] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index10-left10-None] dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index11-None-right11] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_boundary_slice_same[index11-None-right11] dask/dataframe/tests/test_dataframe.py::test_better_errors_object_reductions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_better_errors_object_reductions dask/dataframe/tests/test_dataframe.py::test_sample_empty_partitions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_sample_empty_partitions dask/dataframe/tests/test_dataframe.py::test_coerce [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_coerce dask/dataframe/tests/test_dataframe.py::test_bool [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_bool dask/dataframe/tests/test_dataframe.py::test_cumulative_multiple_columns [gw1] [ 66%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_every] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_cumulative_multiple_columns dask/dataframe/tests/test_dataframe.py::test_map_partition_array[asarray] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partition_array[asarray] dask/dataframe/tests/test_dataframe.py::test_map_partition_array[func1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partition_array[func1] dask/dataframe/tests/test_dataframe.py::test_map_partition_sparse [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_map_partition_sparse dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_operations [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_operations dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_operations_errors [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_operations_errors dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_multi_dimensional [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_mixed_dask_array_multi_dimensional dask/dataframe/tests/test_dataframe.py::test_meta_raises [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_meta_raises dask/dataframe/tests/test_dataframe.py::test_meta_nonempty_uses_meta_value_if_provided [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_meta_nonempty_uses_meta_value_if_provided dask/dataframe/tests/test_dataframe.py::test_dask_dataframe_holds_scipy_sparse_containers[array] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dask_dataframe_holds_scipy_sparse_containers[array] dask/dataframe/tests/test_dataframe.py::test_dask_dataframe_holds_scipy_sparse_containers[matrix] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dask_dataframe_holds_scipy_sparse_containers[matrix] dask/dataframe/tests/test_dataframe.py::test_map_partitions_delays_large_inputs [gw1] [ 66%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_map_partitions_delays_large_inputs dask/dataframe/tests/test_dataframe.py::test_partitions_indexer [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_partitions_indexer dask/dataframe/tests/test_dataframe.py::test_mod_eq [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_mod_eq dask/dataframe/tests/test_dataframe.py::test_setitem [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_setitem dask/dataframe/tests/test_dataframe.py::test_setitem_with_bool_dataframe_as_key [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_setitem_with_bool_dataframe_as_key dask/dataframe/tests/test_dataframe.py::test_setitem_with_bool_series_as_key [gw1] [ 66%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-disk-split_every] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_setitem_with_bool_series_as_key dask/dataframe/tests/test_dataframe.py::test_setitem_with_numeric_column_name_raises_not_implemented [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_setitem_with_numeric_column_name_raises_not_implemented dask/dataframe/tests/test_dataframe.py::test_broadcast [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_broadcast dask/dataframe/tests/test_dataframe.py::test_scalar_with_array [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_scalar_with_array dask/dataframe/tests/test_dataframe.py::test_has_parallel_type [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_has_parallel_type dask/dataframe/tests/test_dataframe.py::test_map_index [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-disk-split_out] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_index dask/dataframe/tests/test_dataframe.py::test_assign_index [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_assign_index dask/dataframe/tests/test_dataframe.py::test_index_divisions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_divisions dask/dataframe/tests/test_dataframe.py::test_replace [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_replace dask/dataframe/tests/test_dataframe.py::test_map_partitions_delays_lists [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_map_partitions_delays_lists dask/dataframe/tests/test_dataframe.py::test_dtype_cast [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-tasks-split_every] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-tasks-split_out] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_dtype_cast dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-1-1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-1-1] dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-1-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[min-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-disk-split_every] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-1-4] dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-3-1] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-disk-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-3-1] dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-3-4] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-False-3-4] dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-1-1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-1-1] dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-1-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-tasks-split_every] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-1-4] dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-3-1] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-tasks-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-3-1] dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-3-4] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[False-True-3-4] dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-1-1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-1-1] dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-1-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[max-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-disk-split_every] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-disk-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-1-4] dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-3-1] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-3-1] dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-3-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-tasks-split_every] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-False-3-4] dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-1-1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-1-1] dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-1-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-tasks-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-1-4] dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-3-1] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-3-1] dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-3-4] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[count-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-disk-split_every] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-disk-split_out] [gw0] [ 66%] XFAIL dask/dataframe/tests/test_dataframe.py::test_series_map[True-True-3-4] dask/dataframe/tests/test_dataframe.py::test_dataframe_explode [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_dataframe_explode dask/dataframe/tests/test_dataframe.py::test_series_explode [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_series_explode dask/dataframe/tests/test_dataframe.py::test_pop [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_pop dask/dataframe/tests/test_dataframe.py::test_nunique[0-True] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_nunique[0-True] dask/dataframe/tests/test_dataframe.py::test_nunique[0-False] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-tasks-split_every] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_nunique[0-False] dask/dataframe/tests/test_dataframe.py::test_nunique[1-True] [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-tasks-split_out] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_nunique[1-True] dask/dataframe/tests/test_dataframe.py::test_nunique[1-False] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_nunique[1-False] dask/dataframe/tests/test_dataframe.py::test_iter [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_iter dask/dataframe/tests/test_dataframe.py::test_dataframe_groupby_cumsum_agg_empty_partitions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_groupby_cumsum_agg_empty_partitions dask/dataframe/tests/test_dataframe.py::test_dataframe_groupby_cumprod_agg_empty_partitions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_groupby_cumprod_agg_empty_partitions dask/dataframe/tests/test_dataframe.py::test_attrs_dataframe [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_attrs_dataframe dask/dataframe/tests/test_dataframe.py::test_attrs_series [gw0] [ 66%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_attrs_series dask/dataframe/tests/test_dataframe.py::test_join_series [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_join_series dask/dataframe/tests/test_dataframe.py::test_assign_na_float_columns [gw1] [ 66%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[size-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-disk-split_every] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign_na_float_columns dask/dataframe/tests/test_dataframe.py::test_assign_no_warning_fragmented [gw1] [ 66%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-disk-split_out] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_assign_no_warning_fragmented dask/dataframe/tests/test_dataframe.py::test_dot [gw1] [ 66%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-tasks-split_every] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_dot dask/dataframe/tests/test_dataframe.py::test_dot_nan [gw1] [ 66%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-tasks-split_out] [gw0] [ 66%] FAILED dask/dataframe/tests/test_dataframe.py::test_dot_nan dask/dataframe/tests/test_dataframe.py::test_use_of_weakref_proxy [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_use_of_weakref_proxy dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series0] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series1] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series2] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series2] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series3] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series4] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-False-series4] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series0] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series1] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series2] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series2] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series3] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series4] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Series-True-series4] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series0] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series1] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series2] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series2] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series3] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series4] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-False-series4] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series0] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series0] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series1] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series1] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series2] [gw1] [ 66%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[std-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-disk-split_every] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series2] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series3] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series3] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series4] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_numeric[Index-True-series4] dask/dataframe/tests/test_dataframe.py::test_is_monotonic_dt64 [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_dt64 dask/dataframe/tests/test_dataframe.py::test_index_is_monotonic_dt64 [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_index_is_monotonic_dt64 dask/dataframe/tests/test_dataframe.py::test_is_monotonic_empty_partitions [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_is_monotonic_empty_partitions dask/dataframe/tests/test_dataframe.py::test_from_dict[2-columns-int] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[2-columns-int] dask/dataframe/tests/test_dataframe.py::test_from_dict[2-columns-float] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[2-columns-float] dask/dataframe/tests/test_dataframe.py::test_from_dict[2-index-int] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[2-index-int] dask/dataframe/tests/test_dataframe.py::test_from_dict[2-index-float] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[2-index-float] dask/dataframe/tests/test_dataframe.py::test_from_dict[5-columns-int] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[5-columns-int] dask/dataframe/tests/test_dataframe.py::test_from_dict[5-columns-float] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[5-columns-float] dask/dataframe/tests/test_dataframe.py::test_from_dict[5-index-int] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[5-index-int] dask/dataframe/tests/test_dataframe.py::test_from_dict[5-index-float] [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict[5-index-float] dask/dataframe/tests/test_dataframe.py::test_from_dict_raises [gw0] [ 66%] PASSED dask/dataframe/tests/test_dataframe.py::test_from_dict_raises dask/dataframe/tests/test_dataframe.py::test_empty [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_empty dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[int64[pyarrow]] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[int64[pyarrow]] dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[int32[pyarrow]] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[int32[pyarrow]] dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[float64[pyarrow]] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[float64[pyarrow]] dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[float32[pyarrow]] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[float32[pyarrow]] dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[uint8[pyarrow]] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_extension_dtype[uint8[pyarrow]] dask/dataframe/tests/test_dataframe.py::test_pyarrow_decimal_extension_dtype [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_decimal_extension_dtype dask/dataframe/tests/test_dataframe.py::test_to_backend [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_to_backend dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[max] [gw0] [ 67%] FAILED dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[max] dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[sum] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-disk-split_out] [gw0] [ 67%] FAILED dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[sum] dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df0-cond0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df0-cond0] dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df1-cond1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df1-cond1] dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df2-cond2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df2-cond2] dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df3-cond3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df3-cond3] dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df4-cond4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_array_like[df4-cond4] dask/dataframe/tests/test_dataframe.py::test_mask_where_callable [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_mask_where_callable dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch_preserves_index[True] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch_preserves_index[True] dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch_preserves_index[False] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_schema_dispatch_preserves_index[False] dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch[True] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch[True] dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch[False] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch[False] dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch_cudf [gw0] [ 67%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_pyarrow_conversion_dispatch_cudf dask/dataframe/tests/test_dataframe.py::test_enforce_runtime_divisions [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_enforce_runtime_divisions dask/dataframe/tests/test_dataframe.py::test_preserve_ts_unit_in_meta_creation [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_preserve_ts_unit_in_meta_creation dask/dataframe/tests/test_dataframe.py::test_from_xarray [gw0] [ 67%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_from_xarray dask/dataframe/tests/test_dataframe.py::test_from_xarray_string_conversion [gw0] [ 67%] SKIPPED dask/dataframe/tests/test_dataframe.py::test_from_xarray_string_conversion dask/dataframe/tests/test_dataframe.py::test_dataframe_into_delayed [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_dataframe_into_delayed dask/dataframe/tests/test_dataframe.py::test_array_to_df_conversion [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_array_to_df_conversion dask/dataframe/tests/test_dataframe.py::test_map_partitions_always_series[1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_always_series[1] dask/dataframe/tests/test_dataframe.py::test_map_partitions_always_series[5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_map_partitions_always_series[5] dask/dataframe/tests/test_dataframe.py::test_partitions_are_plain_scalars [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_partitions_are_plain_scalars dask/dataframe/tests/test_dataframe.py::test_datetime_partitions_are_plain_scalars [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_datetime_partitions_are_plain_scalars dask/dataframe/tests/test_dataframe.py::test_loc_partitions_are_plain_scalars [gw0] [ 67%] PASSED dask/dataframe/tests/test_dataframe.py::test_loc_partitions_are_plain_scalars dask/dataframe/tests/test_extensions.py::test_register_extension_type [gw0] [ 67%] PASSED dask/dataframe/tests/test_extensions.py::test_register_extension_type dask/dataframe/tests/test_extensions.py::test_reduction [gw0] [ 67%] PASSED dask/dataframe/tests/test_extensions.py::test_reduction dask/dataframe/tests/test_extensions.py::test_scalar [gw0] [ 67%] PASSED dask/dataframe/tests/test_extensions.py::test_scalar dask/dataframe/tests/test_groupby.py::test_groupby_internal_repr_xfail[disk] [gw0] [ 67%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_internal_repr_xfail[disk] dask/dataframe/tests/test_groupby.py::test_groupby_internal_repr_xfail[tasks] [gw0] [ 67%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_internal_repr_xfail[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_error[disk] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_error[disk] dask/dataframe/tests/test_groupby.py::test_groupby_error[tasks] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_error[tasks] dask/dataframe/tests/test_groupby.py::test_full_groupby[disk] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby[disk] dask/dataframe/tests/test_groupby.py::test_full_groupby[tasks] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby[tasks] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-0] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-1] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-2] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-3] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-tasks-split_every] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-3] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-True-4] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-0] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-1] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-2] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-3] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[disk-False-4] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-0] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-1] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-tasks-split_out] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-1] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-2] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-3] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-True-4] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-0] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-1] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-2] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-3] dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_full_groupby_multilevel[tasks-False-4] dask/dataframe/tests/test_groupby.py::test_groupby_dir[disk] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dir[disk] dask/dataframe/tests/test_groupby.py::test_groupby_dir[tasks] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dir[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-sync] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[var-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-disk-split_every] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-disk-split_out] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-tasks-split_every] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-tasks-split_out] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[cov-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-disk-split_every] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-disk-split_out] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-tasks-split_every] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-tasks-split_out] [gw1] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[corr-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-disk-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-disk-split_out] [gw0] [ 67%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-sync] dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-threads] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-tasks-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-tasks-split_out] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[nunique-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-disk-split_every] [gw1] [ 67%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-disk-split_out] [gw1] [ 67%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-tasks-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-tasks-split_out] [gw0] [ 67%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-threads] dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-sync] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[first-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-disk-split_every] [gw1] [ 67%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-disk-split_out] [gw1] [ 67%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-tasks-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-tasks-split_out] [gw0] [ 67%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-sync] dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-threads] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[last-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-disk-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-disk-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-disk-split_out] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-disk-split_out] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-tasks-split_every] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-tasks-split_every] dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-tasks-split_out] [gw0] [ 67%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-threads] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-6] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-1] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[prod-tasks-split_out] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-5] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-6] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[sum-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-0] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-1] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-3] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-2] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-4] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-4] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-4] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-5] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-6] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-6] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-0] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-6] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-7] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-1] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-2] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-7] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-8] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-3] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-8] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-9] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-5] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-9] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-10] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-6] [gw0] [ 67%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[mean-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-0] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-10] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-11] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-2] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-0-11] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-4] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-6] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-0] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-1] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-6] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-4] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-6] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-7] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-6] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-7] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-8] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[median-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-1] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-8] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-9] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-2] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-3] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-9] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-10] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-4] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-6] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-10] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-11] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-2] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[disk-1-11] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-0] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-3] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-4] [gw1] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-1] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-5] [gw0] [ 67%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-6] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-2] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[min-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-0] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-1] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-2] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-5] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-5] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-1] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-6] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-7] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-7] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-8] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-5] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[max-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-8] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-9] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-1] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-9] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-10] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-10] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-11] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-0] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-1] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-0-11] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-0] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-2] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-1] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-5] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-2] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[count-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-0] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-1] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-5] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-6] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-5] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-0] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-1] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-2] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-3] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-4] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-7] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-6] [gw0] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[size-tasks-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-7] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-8] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-8] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-9] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-1] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-9] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-10] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-10] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-11] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-3] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-4] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-5] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle[tasks-1-11] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-0] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-5] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-6] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-disk-6] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-1] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-1] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-2] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-3] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-3] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-4] dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-5] [gw0] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_multilevel_getitem[std-tasks-5] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-5] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-c] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-0-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-d] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-4] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-5] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[disk-1-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-1] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-2] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-5] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-c] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-0-5] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-0] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-0] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-d] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-1] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-2] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-2] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-3] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-4] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel3] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-4] dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-5] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[tasks-1-5] dask/dataframe/tests/test_groupby.py::test_numeric_column_names[disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_numeric_column_names[disk] dask/dataframe/tests/test_groupby.py::test_numeric_column_names[tasks] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel4] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_numeric_column_names[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_apply_tasks[disk] [gw1] [ 68%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_apply_tasks[disk] dask/dataframe/tests/test_groupby.py::test_groupby_apply_tasks[tasks] [gw1] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_apply_tasks[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_multiprocessing[disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multiprocessing[disk] dask/dataframe/tests/test_groupby.py::test_groupby_multiprocessing[tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multiprocessing[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_normalize_by[disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_normalize_by[disk] dask/dataframe/tests/test_groupby.py::test_groupby_normalize_by[tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_normalize_by[tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[sum-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[sum-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[sum-tasks] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[sum-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[mean-disk] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[mean-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[mean-tasks] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[mean-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[median-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[median-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[median-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[median-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[min-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[min-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[min-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[min-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[max-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[max-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[max-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[max-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[count-disk] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-c] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[count-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[count-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[count-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[size-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[size-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[size-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[size-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[std-disk] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[std-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[std-tasks] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[std-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[var-disk] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[var-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[var-tasks] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[var-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[cov-disk] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[cov-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[cov-tasks] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[cov-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[corr-disk] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[corr-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[corr-tasks] [gw1] [ 68%] XPASS dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[corr-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[nunique-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[nunique-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[nunique-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[nunique-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[first-disk] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-d] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[first-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[first-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[first-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[last-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[last-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[last-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[last-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[prod-disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[prod-disk] dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[prod-tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate__single_element_groups[prod-tasks] dask/dataframe/tests/test_groupby.py::test_aggregate_build_agg_args__reuse_of_intermediates[disk] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_build_agg_args__reuse_of_intermediates[disk] dask/dataframe/tests/test_groupby.py::test_aggregate_build_agg_args__reuse_of_intermediates[tasks] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_build_agg_args__reuse_of_intermediates[tasks] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-2-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel3] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel4] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-2-1] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-2-8] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-c] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-d] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-2-8] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-32-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel3] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel4] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-32-1] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-32-8] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-c] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-d] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[disk-32-8] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-2-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-d] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel3] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel4] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-a] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-2-1] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-2-8] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-c] [gw1] [ 68%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-2-8] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-32-1] [gw0] [ 68%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-d] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel4] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-32-1] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-32-8] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-a] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-c] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate[tasks-32-8] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[disk-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-d] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[disk-True] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[disk-False] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-d] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-a] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[disk-False] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[tasks-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-c] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-d] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[tasks-True] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[tasks-False] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel4] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_sort[tasks-False] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_defaults[disk] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_defaults[disk] dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_defaults[tasks] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_shuffle_aggregate_defaults[tasks] dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-a-spec0] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-a] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-a-spec0] dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-a-spec1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-a-spec1] dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-keys1-spec0] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-keys1-spec0] dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-keys1-spec1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[disk-keys1-spec1] dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-a-spec0] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-c] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-a-spec0] dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-a-spec1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-a-spec1] dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-keys1-spec0] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-keys1-spec0] dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-keys1-spec1] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-d] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_aggregate_median[tasks-keys1-spec1] dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-True] dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-False] dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-None] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-d] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-None-None] dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-True] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel3] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-True] dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-False] dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-1-None] dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel4] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-True] dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-False] dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[disk-4-None] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel4] dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[disk] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-True] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-False] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-None-None] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[tasks] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-True] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-False] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-1-None] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-True] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-False] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[disk] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-False] dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_ffill[tasks-4-None] dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-True] dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-False] dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-None] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[disk] dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[tasks] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-None-None] dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-True] dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-False] dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-1-None] dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-True] dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-False] dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-None] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_string_label[disk] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_string_label[disk] dask/dataframe/tests/test_groupby.py::test_groupby_string_label[tasks] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_string_label[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumsum] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[disk-4-None] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-True] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-True] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-False] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-None-None] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumprod] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-True] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-False] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-1-None] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-True] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumsum] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-True] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-False] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-False] dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-None] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_bfill[tasks-4-None] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-0] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumprod] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-2] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_slice_agg_reduces[disk] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_agg_reduces[disk] dask/dataframe/tests/test_groupby.py::test_groupby_slice_agg_reduces[tasks] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-4] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_agg_reduces[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_single[disk] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_single[disk] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_single[tasks] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_single[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-a] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-a] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-1-4] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_1] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-0] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_2] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[disk-slice_3] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-a] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-a] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_1] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_2] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_2] dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_grouper_multiple[tasks-slice_3] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumprod] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-1] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumcount] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-2] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumcount] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumsum] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-var] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-0] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-2] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-var] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-sum] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-3] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-sum] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-mean] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-0] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-mean] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-count] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-count] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-size] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-size] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-std] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-2] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-std] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-min] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-min] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-max] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-max] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-first] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-4] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-first] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-last] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-last] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-prod] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[sum-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-0] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-prod] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumprod] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-2] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-3] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumcount] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-4] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-0] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumcount] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumsum] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-1] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-var] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-2] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-var] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-sum] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-sum] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-mean] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-mean] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-count] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-4] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-count] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-size] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-size] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-std] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-0] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-1] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-2] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-3] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-std] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-min] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-min] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-max] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-4] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-max] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-first] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-0] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-first] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-last] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-last] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-prod] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-prod] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args0] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-2] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args2] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-3] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-idx] [gw1] [ 69%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[mean-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-0] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-idx] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args0] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-1] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-2] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args2] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-3] [gw1] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-idx] [gw1] [ 69%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-idx] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args0] [gw1] [ 69%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args1] [gw0] [ 69%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args2] [gw0] [ 69%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--idx] [gw1] [ 69%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--idx] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args0] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args1] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args2] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-idx] [gw1] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-0] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-1] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-idx] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args0] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-3] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-idx] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-idx] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args0] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args0] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args1] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args2] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args2] dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--idx] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--idx] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec0-dask_spec0-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec0-dask_spec0-False] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec1-dask_spec1-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec1-dask_spec1-True] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec2-dask_spec2-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec2-dask_spec2-False] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec3-dask_spec3-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[disk-pandas_spec3-dask_spec3-False] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec0-dask_spec0-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec0-dask_spec0-False] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec1-dask_spec1-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec1-dask_spec1-True] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec2-dask_spec2-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec2-dask_spec2-False] dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec3-dask_spec3-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_groupby_agg_custom_sum[tasks-pandas_spec3-dask_spec3-False] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-mean-mean] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-mean-mean] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-pandas_spec1-dask_spec1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-pandas_spec1-dask_spec1] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-pandas_spec2-dask_spec2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[disk-pandas_spec2-dask_spec2] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-mean-mean] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-mean-mean] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-pandas_spec1-dask_spec1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-pandas_spec1-dask_spec1] dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-pandas_spec2-dask_spec2] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_agg_custom_mean[tasks-pandas_spec2-dask_spec2] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_same_column[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_same_column[disk] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_same_column[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_same_column[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_different_column[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_different_column[disk] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_different_column[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__name_clash_with_internal_different_column[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__mode[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__mode[disk] dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__mode[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_agg_custom__mode[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[disk-var] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[disk-var] dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[disk-list] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[disk-list] dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[tasks-var] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[tasks-var] dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[tasks-list] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_select_column_agg[tasks-list] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-var] [gw1] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-0] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-1] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-var] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-std] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-3] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-std] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-mean] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-mean] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-sum] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[disk-sum] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-var] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-var] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-std] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-std] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-mean] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-mean] dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-sum] [gw1] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-0] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_std_object_dtype[tasks-sum] dask/dataframe/tests/test_groupby.py::test_std_columns_int[disk] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_std_columns_int[disk] dask/dataframe/tests/test_groupby.py::test_std_columns_int[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_std_columns_int[tasks] dask/dataframe/tests/test_groupby.py::test_timeseries[disk] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_timeseries[disk] dask/dataframe/tests/test_groupby.py::test_timeseries[tasks] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-3] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_timeseries[tasks] dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-0] dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-1] dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-2] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-2] dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[disk-3] dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-0] dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-1] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-1] dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-2] dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-3] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_with_min_count[tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-True] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-True] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-False] [gw1] [ 70%] RERUN dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-False] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-None] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-None] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-True] [gw1] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-0] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-1] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-2] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-True] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-False] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-3] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-4] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-0] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-None] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-1] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-None] dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns0] dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns1] dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns2] dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[disk-columns3] dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns0] dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns1] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns1] dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns2] dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov[tasks-columns3] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin[disk] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin[tasks] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[disk-True] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[disk-True] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[disk-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[disk-False] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[tasks-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[tasks-True] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[tasks-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmin_skipna[tasks-False] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax[disk] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax[tasks] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[disk-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[disk-True] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[disk-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[disk-False] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[tasks-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[tasks-True] dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[tasks-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_df_groupby_idxmax_skipna[tasks-False] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin[tasks] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[disk-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[disk-True] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[disk-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[disk-False] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[tasks-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[tasks-True] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[tasks-False] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmin_skipna[tasks-False] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax[disk] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax[tasks] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[disk-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[disk-True] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[disk-False] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[disk-False] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[tasks-True] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[tasks-True] dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[tasks-False] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_series_groupby_idxmax_skipna[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-uint8] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-uint8] dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-int32] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-int32] dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-int64] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[disk-int64] dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-uint8] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-uint8] dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-int32] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-int32] dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-int64] [gw0] [ 70%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_unique[tasks-int64] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-uint8-foo] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-uint8-foo] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-uint8-by1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-uint8-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int32-foo] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int32-foo] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int32-by1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int32-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int64-foo] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int64-foo] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int64-by1] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[disk-int64-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-uint8-foo] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-uint8-foo] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-uint8-by1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-uint8-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int32-foo] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int32-foo] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int32-by1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int32-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int64-foo] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int64-foo] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int64-by1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts[tasks-int64-by1] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_10322[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_10322[disk] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_10322[tasks] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_10322[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_shift_series[disk] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_shift_series[disk] dask/dataframe/tests/test_groupby.py::test_groupby_shift_series[tasks] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_shift_series[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_shift_lazy_input[disk] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-1] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_shift_lazy_input[disk] dask/dataframe/tests/test_groupby.py::test_groupby_shift_lazy_input[tasks] [gw0] [ 70%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_shift_lazy_input[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_shift_within_partition_sorting[disk] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_shift_within_partition_sorting[disk] dask/dataframe/tests/test_groupby.py::test_groupby_shift_within_partition_sorting[tasks] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_shift_within_partition_sorting[tasks] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[min-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-0] dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[disk] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-1] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-2] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-3] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[disk] dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[tasks] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-4] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-0] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-1] [gw0] [ 70%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum0] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum1] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-2] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-rank] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-3] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-rank] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum0] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum0] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum1] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-rank] [gw1] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-4] [gw0] [ 70%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-rank] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-2] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-3] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-4] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-5] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-5] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-6] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-6] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-7] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-7] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-8] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-8] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-9] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-indexed-9] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-1] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-2] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-3] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-3] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-4] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-4] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-5] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-5] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-6] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-6] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-7] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-7] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-8] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-8] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-9] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[disk-not_indexed-9] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-2] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-2] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-3] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-4] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-5] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-5] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-6] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-6] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-7] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-7] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-8] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-8] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-9] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-indexed-9] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-1] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-2] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[max-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-2] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-3] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-4] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-4] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-5] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-5] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-6] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-6] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-7] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-7] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-8] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-8] dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-9] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_transform_ufunc_partitioning[tasks-not_indexed-9] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--0] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--2] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--3] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[disk--3] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--2] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--2] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categoricals[tasks--3] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-1] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-4] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-2] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-3] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[disk-3] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-1] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-2] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-3] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function[tasks-3] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[disk-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[disk-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[tasks-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[tasks-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_kwargs[tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[disk-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[disk-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[disk-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[disk-1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[tasks-0] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[tasks-0] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[tasks-1] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_partial_function_unexpected_args[tasks-1] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[disk-False] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[disk-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[disk-True] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-2] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[disk-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[tasks-False] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[tasks-True] [gw0] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_pandas[tasks-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-True-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-False-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-True] [gw1] [ 71%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-2] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-False] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-3] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[disk-None-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-True-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-True] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-None] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-False] [gw0] [ 71%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-False-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-a-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-c-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-d-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by3-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by4-None] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-None] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_cudf[tasks-None-by5-None] dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[disk-a] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[disk-a] dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[disk-b] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[disk-b] dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[tasks-a] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[tasks-a] dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[tasks-b] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_grouper_dispatch[tasks-b] dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[disk-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[disk-True] dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[disk-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[disk-False] dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[tasks-True] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[tasks-True] dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[tasks-False] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_apply_cudf[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[disk-True] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[disk-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[disk-False] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[disk-False] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[tasks-True] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[tasks-True] dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[tasks-False] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_dropna_with_agg[tasks-False] dask/dataframe/tests/test_groupby.py::test_groupby_observed_with_agg[disk] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_observed_with_agg[disk] dask/dataframe/tests/test_groupby.py::test_groupby_observed_with_agg[tasks] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_observed_with_agg[tasks] dask/dataframe/tests/test_groupby.py::test_rounding_negative_var[disk] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_rounding_negative_var[disk] dask/dataframe/tests/test_groupby.py::test_rounding_negative_var[tasks] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_rounding_negative_var[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-1] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-3] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-3] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-2] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-3] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-3] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-2] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-4] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-3] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-2] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[count-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-0] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-3] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-1] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-2] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-3] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-3] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-2] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-4] [gw0] [ 72%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-3] dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[disk-pandas] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[disk-pandas] dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[disk-cudf] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[disk-cudf] dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[tasks-pandas] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[tasks-pandas] dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[tasks-cudf] [gw0] [ 72%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_large_ints_exception[tasks-cudf] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-a] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-b] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-c] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-by3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-by4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-count-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-a] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-b] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-c] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-by3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-0] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-1] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-2] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-by4] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-0] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-mean-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-a] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-1] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-b] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-c] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-2] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-by3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-by4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-True-std-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-a] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-b] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-c] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-by3] [gw1] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[size-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-by4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-count-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-a] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-1] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-2] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-c] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-by3] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-0] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-by4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-mean-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-a] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-1] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-c] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-by3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-by4] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-2] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[disk-False-std-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-a] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-b] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-c] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-by3] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-by4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-count-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-a] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-c] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-by3] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-0] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-1] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-by4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-mean-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-a] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-2] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-b] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-c] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-by3] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-by4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-True-std-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-a] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-c] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-by3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-by4] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-count-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-a] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-1] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-2] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-c] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-by3] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-by4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-mean-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-a] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-a] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-b] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-4] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-b] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-c] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-c] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-by3] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-by3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-by4] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[std-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-0] [gw0] [ 72%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument[tasks-False-std-by4] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg0] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg1] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg2] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg2] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-True-agg3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg0] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg0] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg1] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg2] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg2] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[disk-False-agg3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg0] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg1] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg2] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg2] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg3] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-True-agg3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg0] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg0] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg1] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg2] [gw1] [ 72%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-1] [gw0] [ 72%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-2] dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg3] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_argument_agg[tasks-False-agg3] dask/dataframe/tests/test_groupby.py::test_groupby_sort_true_split_out[disk] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_true_split_out[disk] dask/dataframe/tests/test_groupby.py::test_groupby_sort_true_split_out[tasks] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_sort_true_split_out[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-ordered-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-ordered-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-unordererd-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-3] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-ordered-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-4] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-unordererd-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-ordered-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-0] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-unordererd-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-ordered-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[sum-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-ordered-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-1] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-ordered-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-unordererd-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-2] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-ordered-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-3] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-4] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-unordererd-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-ordered-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-0] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-1] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-unordererd-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-2] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-3] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-4] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-ordered-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-0] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-unordererd-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-1] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-ordered-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-2] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-unordererd-known] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-3] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-ordered-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-4] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-unordererd-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-ordered-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[var-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-0] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-1] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-2] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-3] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-ordered-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-4] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-unordererd-known] [gw0] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[mean-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-ordered-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-var] [gw1] [ 73%] XFAIL dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-0] [gw1] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-0] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[disk-cov] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-1] [gw1] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-2] [gw1] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-3] [gw1] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-3] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[disk-cov] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[disk-corr] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-4] [gw1] [ 73%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-0] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[disk-corr] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[tasks-cov] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[tasks-cov] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[tasks-corr] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false_cov_corr[tasks-corr] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[disk-cumsum] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[disk-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[disk-cumprod] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[disk-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[tasks-cumsum] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[tasks-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[tasks-cumprod] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_false[tasks-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-True-var] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-1] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-True-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-True-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-True-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-False-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-False-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-True-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-True-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-True-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-True-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-True-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-False-var] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-2] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-False-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[disk-False-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-True-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-True-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-True-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-True-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-False-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-False-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-True-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-True-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-True-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-True-std] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-3] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-True-std] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-False-var] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-False-std] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_var_dropna_observed[tasks-False-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_all_na_partitions[disk] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_all_na_partitions[disk] dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_all_na_partitions[tasks] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_value_counts_all_na_partitions[tasks] dask/dataframe/tests/test_groupby.py::test_agg_pyarrow_casts[disk] [gw1] [ 73%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-4] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_agg_pyarrow_casts[disk] dask/dataframe/tests/test_groupby.py::test_agg_pyarrow_casts[tasks] [gw0] [ 73%] PASSED dask/dataframe/tests/test_groupby.py::test_agg_pyarrow_casts[tasks] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj0] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj0] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj1] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj1] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj2] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj2] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj3] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj3] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj4] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj4] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj5] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj5] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj6] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj6] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj7] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj7] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj8] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj8] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj9] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj9] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj10] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj10] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj11] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj11] dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj12] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_pandas_object[obj12] dask/dataframe/tests/test_hashing.py::test_categorical_consistency [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_categorical_consistency dask/dataframe/tests/test_hashing.py::test_object_missing_values [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_object_missing_values dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj0] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj0] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj1] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj1] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj2] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj2] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj3] [gw0] [ 73%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj3] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj4] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj5] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj5] dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj6] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hashing.py::test_hash_object_dispatch[obj6] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df0] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df1] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df2] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df3] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df4] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df5] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df5] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df6] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df6] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df7] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df7] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df8] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df8] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df9] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df9] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df10] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df10] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df11] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df11] dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df12] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[2-df12] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df0] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df1] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df2] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df3] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df4] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df5] [gw1] [ 74%] XFAIL dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-0] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df5] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df6] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-1] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df6] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df7] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-2] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df7] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df8] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-3] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df8] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df9] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-4] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[cov-tasks-2-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df9] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df10] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df10] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df11] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df11] dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df12] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_basic[20-df12] dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-None] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-None] dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-2] dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-10] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[2-10] dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-None] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-None] dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-2] dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-10] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_split_every[20-10] dask/dataframe/tests/test_hyperloglog.py::test_larger_data [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_hyperloglog.py::test_larger_data dask/dataframe/tests/test_indexing.py::test_loc [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc dask/dataframe/tests/test_indexing.py::test_loc_non_informative_index [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_non_informative_index dask/dataframe/tests/test_indexing.py::test_loc_with_text_dates [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_text_dates dask/dataframe/tests/test_indexing.py::test_loc_with_series [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_series dask/dataframe/tests/test_indexing.py::test_loc_with_array [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_array dask/dataframe/tests/test_indexing.py::test_loc_with_function [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_function dask/dataframe/tests/test_indexing.py::test_loc_with_array_different_partition [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_array_different_partition dask/dataframe/tests/test_indexing.py::test_loc_with_series_different_partition [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_series_different_partition dask/dataframe/tests/test_indexing.py::test_loc_with_non_boolean_series [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_with_non_boolean_series dask/dataframe/tests/test_indexing.py::test_loc2d [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc2d dask/dataframe/tests/test_indexing.py::test_loc2d_with_known_divisions [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc2d_with_known_divisions dask/dataframe/tests/test_indexing.py::test_loc2d_with_unknown_divisions [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc2d_with_unknown_divisions dask/dataframe/tests/test_indexing.py::test_getitem [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_getitem dask/dataframe/tests/test_indexing.py::test_getitem_slice [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_getitem_slice dask/dataframe/tests/test_indexing.py::test_getitem_integer_slice [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_getitem_integer_slice dask/dataframe/tests/test_indexing.py::test_loc_on_numpy_datetimes [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_on_numpy_datetimes dask/dataframe/tests/test_indexing.py::test_loc_on_pandas_datetimes [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_on_pandas_datetimes dask/dataframe/tests/test_indexing.py::test_loc_datetime_no_freq [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_datetime_no_freq dask/dataframe/tests/test_indexing.py::test_coerce_loc_index [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_coerce_loc_index dask/dataframe/tests/test_indexing.py::test_loc_timestamp_str [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_timestamp_str dask/dataframe/tests/test_indexing.py::test_getitem_timestamp_str [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_getitem_timestamp_str dask/dataframe/tests/test_indexing.py::test_loc_period_str [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_loc_period_str dask/dataframe/tests/test_indexing.py::test_getitem_period_str [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_getitem_period_str dask/dataframe/tests/test_indexing.py::test_to_series[index0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_to_series[index0] dask/dataframe/tests/test_indexing.py::test_to_series[index1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_to_series[index1] dask/dataframe/tests/test_indexing.py::test_to_frame[index0] [gw1] [ 74%] XFAIL dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-0] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_to_frame[index0] dask/dataframe/tests/test_indexing.py::test_to_frame[index1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_to_frame[index1] dask/dataframe/tests/test_indexing.py::test_iloc[0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-1] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc[0] dask/dataframe/tests/test_indexing.py::test_iloc[indexer1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc[indexer1] dask/dataframe/tests/test_indexing.py::test_iloc[indexer2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc[indexer2] dask/dataframe/tests/test_indexing.py::test_iloc[indexer3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc[indexer3] dask/dataframe/tests/test_indexing.py::test_iloc[indexer4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-2] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc[indexer4] dask/dataframe/tests/test_indexing.py::test_iloc_series [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc_series dask/dataframe/tests/test_indexing.py::test_iloc_raises [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc_raises dask/dataframe/tests/test_indexing.py::test_iloc_duplicate_columns [gw0] [ 74%] XFAIL dask/dataframe/tests/test_indexing.py::test_iloc_duplicate_columns dask/dataframe/tests/test_indexing.py::test_iloc_dispatch_to_getitem dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-3] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc_dispatch_to_getitem dask/dataframe/tests/test_indexing.py::test_iloc_out_of_order_selection [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_iloc_out_of_order_selection dask/dataframe/tests/test_indexing.py::test_pandas_nullable_boolean_data_type dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-4] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-disk-2-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_pandas_nullable_boolean_data_type dask/dataframe/tests/test_indexing.py::test_deterministic_hashing_series [gw0] [ 74%] PASSED dask/dataframe/tests/test_indexing.py::test_deterministic_hashing_series dask/dataframe/tests/test_indexing.py::test_gpu_loc [gw0] [ 74%] SKIPPED dask/dataframe/tests/test_indexing.py::test_gpu_loc dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-inner-disk] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-inner-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-left-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-left-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-right-disk] [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-right-disk] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-1] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-right-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-outer-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-outer-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[idx-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-inner-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-inner-tasks] [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-left-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-left-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-right-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-right-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-outer-disk] [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-outer-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on1-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-inner-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-inner-tasks] [gw1] [ 74%] XPASS dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-left-disk] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-left-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-disk] [gw1] [ 74%] XFAIL dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-0] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-1] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-2] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-2] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-tasks] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-3] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-4] [gw1] [ 74%] SKIPPED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[corr-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-0] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-1] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-disk] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-2] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-3] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-4] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-0] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-tasks] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-1] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-2] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-inner-disk] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-inner-tasks] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-left-disk] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-left-tasks] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-0] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-disk] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-2] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-3] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-4] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-tasks] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-0] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-1] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-disk] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-2] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-3] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-tasks] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-4] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[nunique-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-0] [gw0] [ 74%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-disk-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-disk-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-tasks-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-2] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-tasks-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[idx-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-disk-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-3] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-disk-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-tasks-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-4] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-tasks-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on1-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-disk-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-0] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-disk-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-tasks-inner] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-tasks-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on2-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-disk-inner] [gw1] [ 74%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-1] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-disk-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-tasks-inner] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-tasks-left] [gw0] [ 74%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_single[on3-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-disk-inner] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-2] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-disk-right] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-disk-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-tasks-inner] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-tasks-right] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[idx-tasks-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-disk-inner] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-3] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-disk-right] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-disk-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-tasks-inner] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-tasks-right] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on1-tasks-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-disk-inner] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-disk-inner] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-3] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-disk-right] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-disk-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-tasks-inner] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-tasks-right] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-tasks-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-disk-inner] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-2] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-disk-right] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-3] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-disk-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-tasks-inner] [gw0] [ 75%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-tasks-right] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-tasks-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[first-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-3] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-4] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-4] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[last-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-3] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-1-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-4] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-disk-2-4] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-4] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-1-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-disk] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-3] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-3] dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-4] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[prod-tasks-2-4] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[sum-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-disk] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-1] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-2] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-tasks] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-1] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-disk] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-0] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-tasks] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-2] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-0] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-disk] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-2] [gw1] [ 75%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[mean-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-tasks] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-tasks] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-tasks] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-disk] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-disk] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-disk] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-tasks] [gw1] [ 75%] FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-1] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-tasks] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[min-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-0] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-2] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-0] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-disk] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-1] [gw1] [ 75%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-2] [gw0] [ 75%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[max-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[count-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-1-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-tasks] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-0] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[size-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-1] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-tasks] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-1] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-tasks] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-tasks] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[std-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-tasks] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-1-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-tasks] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-disk] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[var-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[cov-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-0] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-1] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-2] [gw1] [ 76%] XPASS dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[corr-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-1] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[nunique-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-1] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[first-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-0] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[last-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-disk-2-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-2] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-1-2] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-0] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-0] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-1] dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-2] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[prod-tasks-2-2] dask/dataframe/tests/test_groupby.py::test_groupy_non_aligned_index[disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_groupy_non_aligned_index[disk] dask/dataframe/tests/test_groupby.py::test_groupy_non_aligned_index[tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_groupy_non_aligned_index[tasks] dask/dataframe/tests/test_groupby.py::test_groupy_series_wrong_grouper[disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_groupy_series_wrong_grouper[disk] dask/dataframe/tests/test_groupby.py::test_groupy_series_wrong_grouper[tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_groupy_series_wrong_grouper[tasks] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-4] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-20] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-4] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-20] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-1-5-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-4] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-20] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-4] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-20] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-disk] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-5-5-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-1] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-4] [gw0] [ 76%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-tasks] [gw1] [ 76%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-20] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-1] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-4] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-20] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-disk] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[disk-20-5-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-1] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-4] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-20] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-1] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-4] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-20] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-1-5-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-1] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-4] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-4] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-tasks] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-20] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-1] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-4] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-20] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-5-5-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-1] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-4] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-20] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-2-20] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-1] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-1] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-4] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-4] dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-20] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-disk] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_hash_groupby_aggregate[tasks-20-5-20] dask/dataframe/tests/test_groupby.py::test_split_out_multi_column_groupby[disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_split_out_multi_column_groupby[disk] dask/dataframe/tests/test_groupby.py::test_split_out_multi_column_groupby[tasks] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-tasks] dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-left] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_split_out_multi_column_groupby[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_num[disk] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-right] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_num[disk] dask/dataframe/tests/test_groupby.py::test_groupby_split_out_num[tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_num[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_not_supported[disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_not_supported[disk] dask/dataframe/tests/test_groupby.py::test_groupby_not_supported[tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_not_supported[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_column[disk] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_column[disk] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_column[tasks] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_column[tasks] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-a] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-right] dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-outer] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-c] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-outer] dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-right] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-d] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-right] dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-outer] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel3] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-outer] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-disk-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-disk-left] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel4] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-tasks-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-tasks-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[idx-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-disk-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-disk-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-tasks-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-a] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-tasks-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on1-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-disk-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-disk-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-tasks-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-c] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-tasks-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on2-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-disk-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-disk-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-disk-left] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-disk-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-tasks-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-tasks-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-tasks-left] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-d] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_right[on3-tasks-left] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-True-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-True-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-0.75-right] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel3] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-disk-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-True-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-True-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-0.75-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[idx-tasks-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-True-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel4] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-True-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-0.75-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-disk-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-True-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-True-right] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-0.75-right] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel4] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-a] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on1-tasks-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-True-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-True-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-0.75-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-a] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-c] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-0.75-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-True-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-c] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-d] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-True-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-0.75-right] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-d] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel3] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-True-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-True-right] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel3] dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel4] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-0.75-inner] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-0.75-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-True-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel4] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-ordered-known] [gw1] [ 77%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 77%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 77%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 77%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[median-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-True-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-True-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-True-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-0.75-inner] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-0.75-inner] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-0.75-right] [gw0] [ 77%] FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-0.75-right] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_column_with_nulls[None] [gw0] [ 77%] SKIPPED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_column_with_nulls[None] dask/dataframe/tests/test_merge_column_and_index.py::test_merge_column_with_nulls[4] [gw0] [ 77%] SKIPPED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_column_with_nulls[4] dask/dataframe/tests/test_methods.py::test_assign_not_modifying_array_inplace [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-known] [gw0] [ 77%] FAILED dask/dataframe/tests/test_methods.py::test_assign_not_modifying_array_inplace dask/dataframe/tests/test_multi.py::test_merge_indexed_dataframe_to_indexed_dataframe [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_indexed_dataframe_to_indexed_dataframe dask/dataframe/tests/test_multi.py::test_sequential_joins [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_sequential_joins dask/dataframe/tests/test_multi.py::test_merge_asof_indexed [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_indexed dask/dataframe/tests/test_multi.py::test_merge_asof_on_basic [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-known] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_basic dask/dataframe/tests/test_multi.py::test_merge_asof_on_lefton_righton_error [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_lefton_righton_error dask/dataframe/tests/test_multi.py::test_merge_asof_by_leftby_rightby_error [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_by_leftby_rightby_error dask/dataframe/tests/test_multi.py::test_merge_asof_on[backward-True] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[backward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_on[backward-False] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[backward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_on[forward-True] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[forward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_on[forward-False] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[forward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_on[nearest-True] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[nearest-True] dask/dataframe/tests/test_multi.py::test_merge_asof_on[nearest-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on[nearest-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-backward-True] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-backward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-backward-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-backward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-forward-True] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-forward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-forward-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-unknown] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-forward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-nearest-True] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-unknown] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-nearest-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-nearest-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[False-nearest-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-backward-True] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-backward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-backward-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-backward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-forward-True] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-forward-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-forward-False] [gw1] [ 77%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-known] [gw1] [ 77%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-unknown] [gw0] [ 77%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-forward-False] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-nearest-True] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-nearest-True] dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-nearest-False] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_left_on_right_index[True-nearest-False] dask/dataframe/tests/test_multi.py::test_merge_asof_indexed_two_partitions [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_indexed_two_partitions dask/dataframe/tests/test_multi.py::test_merge_asof_on_by [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_by dask/dataframe/tests/test_multi.py::test_merge_asof_on_by_tolerance [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_by_tolerance dask/dataframe/tests/test_multi.py::test_merge_asof_on_by_tolerance_no_exact_matches [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_by_tolerance_no_exact_matches dask/dataframe/tests/test_multi.py::test_merge_asof_unsorted_raises [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_unsorted_raises dask/dataframe/tests/test_multi.py::test_merge_asof_with_empty [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_asof_with_empty dask/dataframe/tests/test_multi.py::test_merge_asof_on_left_right[endofweek-timestamp] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_left_right[endofweek-timestamp] dask/dataframe/tests/test_multi.py::test_merge_asof_on_left_right[endofweek-endofweek] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_on_left_right[endofweek-endofweek] dask/dataframe/tests/test_multi.py::test_merge_asof_with_various_npartitions [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_asof_with_various_npartitions dask/dataframe/tests/test_multi.py::test_indexed_concat[inner] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_indexed_concat[inner] dask/dataframe/tests/test_multi.py::test_indexed_concat[outer] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_indexed_concat[outer] dask/dataframe/tests/test_multi.py::test_concat[inner] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat[inner] dask/dataframe/tests/test_multi.py::test_concat[outer] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat[outer] dask/dataframe/tests/test_multi.py::test_concat_series[inner] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_series[inner] dask/dataframe/tests/test_multi.py::test_concat_series[outer] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_series[outer] dask/dataframe/tests/test_multi.py::test_concat_with_operation_remains_hlg [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_concat_with_operation_remains_hlg dask/dataframe/tests/test_multi.py::test_concat_dataframe_empty [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_dataframe_empty dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-inner] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-inner] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-outer] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-outer] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-left] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-left] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-right] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-right] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-inner] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-inner] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-outer] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-outer] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-left] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-left] dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-right] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[False-right] dask/dataframe/tests/test_multi.py::test_merge[disk-inner] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge[disk-inner] dask/dataframe/tests/test_multi.py::test_merge[disk-outer] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge[disk-outer] dask/dataframe/tests/test_multi.py::test_merge[disk-left] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge[disk-left] dask/dataframe/tests/test_multi.py::test_merge[disk-right] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge[disk-right] dask/dataframe/tests/test_multi.py::test_merge[tasks-inner] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge[tasks-inner] dask/dataframe/tests/test_multi.py::test_merge[tasks-outer] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge[tasks-outer] dask/dataframe/tests/test_multi.py::test_merge[tasks-left] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge[tasks-left] dask/dataframe/tests/test_multi.py::test_merge[tasks-right] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge[tasks-right] dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-right] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-right] dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-outer] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-ordered-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-ordered-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-unordererd-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-unordererd-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-outer] dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-right] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-right] dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-outer] [gw0] [ 78%] FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-outer] dask/dataframe/tests/test_multi.py::test_merge_how_raises [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_how_raises dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts0] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-ordered-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-unordererd-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-unknown] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts0] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts1] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts1] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts2] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftsemi-parts2] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts0] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-ordered-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-ordered-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-unordererd-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts0] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts1] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts1] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts2] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 78%] XFAIL dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[pandas-leftanti-parts2] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts0] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts0] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts1] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts1] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts2] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftsemi-parts2] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts0] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts0] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts1] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts1] dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts2] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_tasks_semi_anti_cudf[cudf-leftanti-parts2] dask/dataframe/tests/test_multi.py::test_merge_tasks_passes_through [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_tasks_passes_through dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-inner] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-inner] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-outer] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-outer] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-left] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[disk-right] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-inner] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-inner] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-outer] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-outer] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-left] dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_index_patterns[tasks-right] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-inner] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-inner] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-outer] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-outer] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-left] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[disk-right] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-inner] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-inner] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-outer] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-outer] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-left] dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_join_by_index_patterns[tasks-right] dask/dataframe/tests/test_multi.py::test_join_gives_proper_divisions [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-ordered-known] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-ordered-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_join_gives_proper_divisions dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-inner] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-unordererd-known] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-inner] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-outer] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 78%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-known] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-outer] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-left] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[disk-right] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-inner] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-inner] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-outer] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-outer] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-left] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-left] dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-right] [gw0] [ 78%] SKIPPED dask/dataframe/tests/test_multi.py::test_merge_by_multiple_columns[tasks-right] dask/dataframe/tests/test_multi.py::test_melt[kwargs0] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs0] dask/dataframe/tests/test_multi.py::test_melt[kwargs1] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs1] dask/dataframe/tests/test_multi.py::test_melt[kwargs2] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs2] dask/dataframe/tests/test_multi.py::test_melt[kwargs3] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs3] dask/dataframe/tests/test_multi.py::test_melt[kwargs4] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs4] dask/dataframe/tests/test_multi.py::test_melt[kwargs5] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs5] dask/dataframe/tests/test_multi.py::test_melt[kwargs6] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_melt[kwargs6] dask/dataframe/tests/test_multi.py::test_cheap_inner_merge_with_pandas_object [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_inner_merge_with_pandas_object dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge[False] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge[False] dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge[True] [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge[True] dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge_divisions [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge_divisions dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[False-left] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[False-left] dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[False-right] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[False-right] dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[True-left] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[True-left] dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[True-right] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_parition_merge_left_right[True-right] dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge_on_index [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-known] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_cheap_single_partition_merge_on_index dask/dataframe/tests/test_multi.py::test_merge_maintains_columns [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_maintains_columns dask/dataframe/tests/test_multi.py::test_merge_index_without_divisions[disk] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_index_without_divisions[disk] dask/dataframe/tests/test_multi.py::test_merge_index_without_divisions[tasks] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_merge_index_without_divisions[tasks] dask/dataframe/tests/test_multi.py::test_half_indexed_dataframe_avoids_shuffle [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_half_indexed_dataframe_avoids_shuffle dask/dataframe/tests/test_multi.py::test_errors_for_merge_on_frame_columns [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_errors_for_merge_on_frame_columns dask/dataframe/tests/test_multi.py::test_concat_one_series [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_one_series dask/dataframe/tests/test_multi.py::test_concat_unknown_divisions [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_unknown_divisions dask/dataframe/tests/test_multi.py::test_concat_unknown_divisions_errors [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat_unknown_divisions_errors dask/dataframe/tests/test_multi.py::test_concat3 [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat3 dask/dataframe/tests/test_multi.py::test_concat4_interleave_partitions [gw1] [ 78%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-known] [gw1] [ 78%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 78%] PASSED dask/dataframe/tests/test_multi.py::test_concat4_interleave_partitions dask/dataframe/tests/test_multi.py::test_concat5 [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-known] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-known] [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_concat5 dask/dataframe/tests/test_multi.py::test_concat_categorical[True-True-False] [gw1] [ 79%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 79%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-ordered-known] [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_concat_categorical[True-True-False] dask/dataframe/tests/test_multi.py::test_concat_categorical[True-False-True] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 79%] XFAIL dask/dataframe/tests/test_multi.py::test_concat_categorical[True-False-True] dask/dataframe/tests/test_multi.py::test_concat_categorical[True-False-False] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-unordererd-known] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_concat_categorical[True-False-False] dask/dataframe/tests/test_multi.py::test_concat_categorical[False-True-False] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-True-False] dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-True] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-ordered-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-True] dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-False] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-unordererd-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-False] dask/dataframe/tests/test_multi.py::test_concat_categorical_mixed_simple [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical_mixed_simple dask/dataframe/tests/test_multi.py::test_concat_datetimeindex [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-ordered-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_datetimeindex dask/dataframe/tests/test_multi.py::test_singleton_divisions [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_singleton_divisions dask/dataframe/tests/test_multi.py::test_repartition_repeated_divisions [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_repartition_repeated_divisions dask/dataframe/tests/test_multi.py::test_multi_duplicate_divisions [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_multi_duplicate_divisions dask/dataframe/tests/test_multi.py::test_merge_outer_empty [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-ordered-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-unordererd-known] [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_merge_outer_empty dask/dataframe/tests/test_multi.py::test_dtype_equality_warning [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_dtype_equality_warning dask/dataframe/tests/test_multi.py::test_groupby_concat_cudf[pandas] [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_groupby_concat_cudf[pandas] dask/dataframe/tests/test_multi.py::test_groupby_concat_cudf[cudf] [gw0] [ 79%] SKIPPED dask/dataframe/tests/test_multi.py::test_groupby_concat_cudf[cudf] dask/dataframe/tests/test_multi.py::test_concat_ignore_order[True] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_ignore_order[True] dask/dataframe/tests/test_multi.py::test_concat_ignore_order[False] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_concat_ignore_order[False] dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Int64] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[std-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-ordered-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Int64] dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Float64] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Float64] dask/dataframe/tests/test_multi.py::test_nullable_types_merge[int64[pyarrow]] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[int64[pyarrow]] dask/dataframe/tests/test_multi.py::test_nullable_types_merge[float64[pyarrow]] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[float64[pyarrow]] dask/dataframe/tests/test_multi.py::test_categorical_join [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-unordererd-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_categorical_join dask/dataframe/tests/test_multi.py::test_categorical_merge_with_columns_missing_from_left [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_categorical_merge_with_columns_missing_from_left dask/dataframe/tests/test_multi.py::test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts dask/dataframe/tests/test_multi.py::test_categorical_merge_retains_category_dtype [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-ordered-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_categorical_merge_retains_category_dtype dask/dataframe/tests/test_multi.py::test_categorical_merge_does_not_raise_setting_with_copy_warning [gw0] [ 79%] PASSED dask/dataframe/tests/test_multi.py::test_categorical_merge_does_not_raise_setting_with_copy_warning dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-inner] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-unordererd-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-inner] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-left] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-left] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-right] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-ordered-known] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-right] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-inner] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-inner] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-left] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-left] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-right] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-ordered-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-right] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-inner] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-inner] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-left] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 79%] XPASS dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-left] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-right] [gw1] [ 79%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[var-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-unordererd-known] [gw0] [ 79%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-right] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-inner] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[cov-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-ordered-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-unordererd-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-ordered-known] [gw1] [ 79%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[corr-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-ordered-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 80%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[nunique-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-unknown] [gw0] [ 80%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-inner] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-unknown] [gw0] [ 80%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-left] dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-right] [gw0] [ 80%] FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-right] dask/dataframe/tests/test_multi.py::test_pairwise_rejects_unsupported_join_types[right] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_rejects_unsupported_join_types[right] dask/dataframe/tests/test_multi.py::test_pairwise_rejects_unsupported_join_types[inner] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_rejects_unsupported_join_types[inner] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-1-left] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-1-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-1-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-2-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-2-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-2-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-3-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-known] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-3-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[1-3-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-1-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-1-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-1-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-2-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-2-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-2-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-3-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-3-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[2-3-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-1-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-1-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-1-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-2-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-2-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-2-outer] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-3-left] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-unknown] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-known] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-3-left] dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-unknown] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_pairwise_merge_results_in_identical_output_df[3-3-outer] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-1-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-3] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-2-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[left-3-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-1-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-1] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-known] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-2] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-2-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[right-3-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-3] [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-known] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-unknown] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-1-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-2-3] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-1] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-2] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-2] dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-3] [gw0] [ 80%] PASSED dask/dataframe/tests/test_multi.py::test_ensure_npartitions_properly_set[outer-3-3] dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5_0] [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5_0] dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5_1] [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5_1] dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5 ] [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_scalars[5 ] dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_array [gw1] [ 80%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-known] [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_array dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_array_with_meta [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_array_with_meta dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_series [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_series dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_series_with_meta [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_series_with_meta dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_dataframe_raises_error [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_on_dask_dataframe_dataframe_raises_error dask/dataframe/tests/test_numeric.py::test_to_numeric_raises [gw0] [ 80%] PASSED dask/dataframe/tests/test_numeric.py::test_to_numeric_raises dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[object-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[object-False] [gw1] [ 80%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[str-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[str-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype2-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype2-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype3-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype3-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype4-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype4-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype5-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype5-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype6-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype6-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype7-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype7-False] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype8-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype8-True] dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype9-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_pyarrow_string_dtype[dtype9-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[object-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[object-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[str-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[str-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype2-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype2-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype3-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype3-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype4-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype4-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype5-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype5-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype6-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype6-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype7-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype7-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype8-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype8-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype9-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_dtype[dtype9-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index0-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index0-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index1-True] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index1-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index2-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index2-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index3-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index3-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index4-False] [gw0] [ 80%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index4-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index5-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index5-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index6-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index6-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index7-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index7-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index8-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index8-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index9-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_index[index9-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series0-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series0-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series1-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series1-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series2-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series2-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series3-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series3-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series4-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series4-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series5-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series5-True] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series6-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series6-False] dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series7-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::test_is_object_string_series[series7-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series0-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series0-True] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series1-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series1-True] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series2-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series2-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series3-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series3-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series4-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series4-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series5-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series5-True] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series6-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series6-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series7-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series7-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series8-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series8-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series9-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series9-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series10-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series10-False] dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series11-False] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow.py::tests_is_object_string_dataframe[series11-False] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint8] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint8] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint16] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint16] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint32] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint32] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint64] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[uint64] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int8] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int8] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int16] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int16] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int32] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int32] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int64] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[int64] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[float] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[float] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[double] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[double] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[decimal128(7, 3)] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[decimal128(7, 3)] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[string] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[string] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[binary] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[binary] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time32[s]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time32[s]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time32[ms]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time32[ms]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time64[us]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time64[us]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time64[ns]] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-known] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[time64[ns]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[date32[day]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[date32[day]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[date64[ms]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[date64[ms]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=UTC]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=UTC]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=US/Pacific]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=US/Pacific]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=US/Eastern]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[s, tz=US/Eastern]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=UTC]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=UTC]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=US/Pacific]] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-known] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=US/Pacific]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=US/Eastern]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ms, tz=US/Eastern]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=UTC]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=UTC]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=US/Pacific]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=US/Pacific]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=US/Eastern]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[us, tz=US/Eastern]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=UTC]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=UTC]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=US/Pacific]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=US/Pacific]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=US/Eastern]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[timestamp[ns, tz=US/Eastern]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[s]] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-known] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[s]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[ms]] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[ms]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[us]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[us]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[ns]] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[duration[ns]] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[bool] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip[bool] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip_pyarrow_string_implementations[stringdtype] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip_pyarrow_string_implementations[stringdtype] dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip_pyarrow_string_implementations[arrowdtype] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_pickle_roundtrip_pyarrow_string_implementations[arrowdtype] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_pyarrow_compat.py::test_inplace_modification_read_only dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-known] [gw0] [ 81%] PASSED dask/dataframe/tests/test_pyarrow_compat.py::test_inplace_modification_read_only dask/dataframe/tests/test_reshape.py::test_get_dummies[data0] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies[data0] dask/dataframe/tests/test_reshape.py::test_get_dummies[data1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies[data1] dask/dataframe/tests/test_reshape.py::test_get_dummies[data2] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies[data2] dask/dataframe/tests/test_reshape.py::test_get_dummies_categories_order [gw0] [ 81%] FAILED dask/dataframe/tests/test_reshape.py::test_get_dummies_categories_order dask/dataframe/tests/test_reshape.py::test_get_dummies_object [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies_object dask/dataframe/tests/test_reshape.py::test_get_dummies_kwargs [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies_kwargs dask/dataframe/tests/test_reshape.py::test_get_dummies_sparse [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies_sparse dask/dataframe/tests/test_reshape.py::test_get_dummies_sparse_mix [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies_sparse_mix dask/dataframe/tests/test_reshape.py::test_get_dummies_dtype [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_get_dummies_dtype dask/dataframe/tests/test_reshape.py::test_get_dummies_errors [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-known] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-unknown] [gw0] [ 81%] FAILED dask/dataframe/tests/test_reshape.py::test_get_dummies_errors dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-B] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-known] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-B] dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-values1] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-values2] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[mean-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-B] [gw1] [ 81%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-ordered-known] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-ordered-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-B] dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-values1] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-unordererd-known] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-unordererd-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-values2] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-ordered-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-ordered-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-unordererd-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-unordererd-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-observed-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-ordered-known] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-ordered-unknown] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-unordererd-known] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[sum-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table[count-B] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-unordererd-unknown] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-ordered-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-ordered-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-unordererd-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-unordererd-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-disk-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-ordered-known] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-ordered-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[count-B] dask/dataframe/tests/test_reshape.py::test_pivot_table[count-values1] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-unordererd-known] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-unordererd-unknown] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-ordered-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-ordered-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-unordererd-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-unordererd-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-observed-groupby1-unordererd-unknown] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[count-values1] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_reshape.py::test_pivot_table[count-values2] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-ordered-unknown] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-unordererd-known] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[count-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table[first-B] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-unordererd-unknown] [gw1] [ 81%] XFAIL dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-cat_1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-ordered-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-ordered-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-ordered-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-ordered-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-unordererd-known] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-unordererd-known] dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-unordererd-unknown] [gw1] [ 81%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[prod-tasks-unobserved-groupby1-unordererd-unknown] dask/dataframe/tests/test_groupby.py::test_groupby_cov_non_numeric_grouping_column[disk] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov_non_numeric_grouping_column[disk] dask/dataframe/tests/test_groupby.py::test_groupby_cov_non_numeric_grouping_column[tasks] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[first-B] dask/dataframe/tests/test_reshape.py::test_pivot_table[first-values1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_cov_non_numeric_grouping_column[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_None_column_name[disk] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_None_column_name[disk] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_None_column_name[tasks] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_None_column_name[tasks] dask/dataframe/tests/test_groupby.py::test_dataframe_named_agg[True] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_named_agg[True] dask/dataframe/tests/test_groupby.py::test_dataframe_named_agg[False] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_dataframe_named_agg[False] dask/dataframe/tests/test_groupby.py::test_series_named_agg[count-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[first-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table[first-values2] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[count-True] dask/dataframe/tests/test_groupby.py::test_series_named_agg[count-False] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[count-False] dask/dataframe/tests/test_groupby.py::test_series_named_agg[mean-True] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[mean-True] dask/dataframe/tests/test_groupby.py::test_series_named_agg[mean-False] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[mean-False] dask/dataframe/tests/test_groupby.py::test_series_named_agg[agg2-True] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[first-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table[last-B] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[agg2-True] dask/dataframe/tests/test_groupby.py::test_series_named_agg[agg2-False] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_series_named_agg[agg2-False] dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[disk-A] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[disk-A] dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[disk-by1] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[last-B] dask/dataframe/tests/test_reshape.py::test_pivot_table[last-values1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[disk-by1] dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[tasks-A] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[tasks-A] dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[tasks-by1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_empty_partitions_with_value_counts[tasks-by1] dask/dataframe/tests/test_groupby.py::test_groupby_with_pd_grouper[disk] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_pd_grouper[disk] dask/dataframe/tests/test_groupby.py::test_groupby_with_pd_grouper[tasks] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_pd_grouper[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[disk-head] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[disk-head] dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[disk-tail] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[last-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table[last-values2] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[disk-tail] dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[tasks-head] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[tasks-head] dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[tasks-tail] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_empty_partitions_with_rows_operation[tasks-tail] dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[disk-head] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[disk-head] dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[disk-tail] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[disk-tail] dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[tasks-head] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table[last-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-B] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[tasks-head] dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[tasks-tail] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_with_row_operations[tasks-tail] dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[disk-head] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[disk-head] dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[disk-tail] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-B] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-values1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[disk-tail] dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[tasks-head] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[tasks-head] dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[tasks-tail] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_multi_index_with_row_operations[tasks-tail] dask/dataframe/tests/test_groupby.py::test_groupby_iter_fails[disk] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_iter_fails[disk] dask/dataframe/tests/test_groupby.py::test_groupby_iter_fails[tasks] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_iter_fails[tasks] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-3-key1] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-3-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-3-by1] [gw0] [ 81%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-values2] [gw1] [ 81%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-3-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-value-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-value-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-value-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-value-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key2-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key2-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key2-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key2-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key3-key1] [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[first-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-B] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key3-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key3-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key3-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key4-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key4-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key4-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key4-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key5-key1] [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-B] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-values1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key5-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key5-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[disk-slice_key5-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-3-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-3-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-3-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-3-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-value-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-value-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-value-by1] [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-values1] dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-values2] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-value-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key2-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key2-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key2-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key2-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key3-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key3-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key3-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key3-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key4-key1] [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_firstlast[last-values2] dask/dataframe/tests/test_reshape.py::test_pivot_table_dtype [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key4-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key4-by1] [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_dtype dask/dataframe/tests/test_reshape.py::test_pivot_table_index_dtype [gw0] [ 82%] PASSED dask/dataframe/tests/test_reshape.py::test_pivot_table_index_dtype dask/dataframe/tests/test_reshape.py::test_pivot_table_errors [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key4-by1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key5-key1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key5-key1] dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key5-by1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_slice_getitem[tasks-slice_key5-by1] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-min] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-max] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-sum] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-first] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-last] [gw0] [ 82%] FAILED dask/dataframe/tests/test_reshape.py::test_pivot_table_errors dask/dataframe/tests/test_rolling.py::test_map_overlap[True-1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-median] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-None-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-min] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-max] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-sum] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap[True-1] dask/dataframe/tests/test_rolling.py::test_map_overlap[True-4] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-first] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-last] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-median] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-True-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-min] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap[True-4] dask/dataframe/tests/test_rolling.py::test_map_overlap[False-1] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-max] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-sum] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap[False-1] dask/dataframe/tests/test_rolling.py::test_map_overlap[False-4] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-first] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap[False-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-median] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[disk-False-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-min] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-max] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-sum] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-first] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-median] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-None-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-min] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-max] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-sum] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-prod] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-first] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-median] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-True-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-min] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-max] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-sum] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-first] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-median] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-idxmax] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-idxmax] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-idxmin] [gw1] [ 82%] SKIPPED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_supported[tasks-False-idxmin] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-mean] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-std] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-var] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-mean] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-std] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-var] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[disk-None-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-mean] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-std] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-var] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-False-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-mean] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-std] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-var] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_not_implemented[tasks-None-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-min] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-max] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-sum] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-prod] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-first] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-corr] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-corr] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cov] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cov] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumprod] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] [gw1] [ 82%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumsum] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] [gw1] [ 82%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-mean] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-median] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-median] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-std] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-std] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-var] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-var] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-min] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-min] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-max] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-max] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-sum] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-sum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-prod] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-prod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-first] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-first] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-last] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-last] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-corr] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-corr] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cov] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] [gw1] [ 82%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cov] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumprod] [gw0] [ 82%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] [gw1] [ 83%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumprod] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumsum] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] [gw1] [ 83%] FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumsum] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-mean] [gw1] [ 83%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-mean] dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-median] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-median] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-True-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-True-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-True-4] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-True-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-False-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-False-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-False-4] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-True-False-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-True-1] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-True-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-True-4] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-True-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-False-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-False-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-False-4] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[True-False-False-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-True-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-True-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-True-4] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-True-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-False-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-False-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-False-4] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-True-False-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-True-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-True-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-True-4] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-True-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-False-1] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-False-1] dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-False-4] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_names[False-False-False-4] dask/dataframe/tests/test_rolling.py::test_map_overlap_errors [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_errors dask/dataframe/tests/test_rolling.py::test_map_overlap_provide_meta [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_provide_meta dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-count-args0-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-sum-args1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-mean-args2-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-median-args3-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-min-args4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-max-args5-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-std-args6-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-var-args7-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-var-args7-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-skew-args8-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-kurt-args9-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-quantile-args10-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-apply-args11-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-1-apply-args11-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-count-args0-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-count-args0-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-sum-args1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-mean-args2-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-median-args3-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-min-args4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-max-args5-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-std-args6-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-var-args7-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-skew-args8-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-kurt-args9-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-quantile-args10-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-apply-args11-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-2-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-count-args0-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-sum-args1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-mean-args2-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-median-args3-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-min-args4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-max-args5-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-std-args6-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-var-args7-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-skew-args8-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-kurt-args9-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-quantile-args10-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-apply-args11-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-4-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-count-args0-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-sum-args1-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-mean-args2-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-median-args3-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-min-args4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-max-args5-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-std-args6-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-var-args7-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-skew-args8-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-kurt-args9-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-quantile-args10-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-apply-args11-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-1-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[True-5-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-count-args0-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-4-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-sum-args1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-mean-args2-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-median-args3-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-4-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-min-args4-False] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-1-True] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-max-args5-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-std-args6-True] [gw0] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-1-False] [gw1] [ 83%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-var-args7-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-skew-args8-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-quantile-args10-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-apply-args11-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-1-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-1-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-count-args0-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-sum-args1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-mean-args2-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-median-args3-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-min-args4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-max-args5-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-std-args6-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup4-False-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-var-args7-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-var-args7-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-skew-args8-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-quantile-args10-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-apply-args11-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-2-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-count-args0-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-sum-args1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-mean-args2-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-median-args3-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-min-args4-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-max-args5-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-std-args6-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-var-args7-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-skew-args8-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-quantile-args10-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-apply-args11-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-1-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-4-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-count-args0-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-count-args0-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-sum-args1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-mean-args2-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-True-False-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-median-args3-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-median-args3-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-min-args4-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-min-args4-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-max-args5-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-max-args5-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-std-args6-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-4-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-True-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-std-args6-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-var-args7-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-var-args7-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-skew-args8-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-quantile-args10-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-apply-args11-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-True-False-4-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-1-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-1-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-1-False] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-4-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_methods[False-5-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-1] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-4-True] dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-4-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_map_overlap_multiple_dataframes[overlap_setup5-False-False-True-4-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-x-pandas] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-1] dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-2] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-2] dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-4] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-4] dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-5] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[True-5] dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-1] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-x-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-x-cudf] [gw0] [ 84%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-x-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-z-pandas] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-1] dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-2] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-2] dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-4] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-4] dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-5] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_cov[False-5] dask/dataframe/tests/test_rolling.py::test_rolling_names [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_names dask/dataframe/tests/test_rolling.py::test_rolling_partition_size [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-z-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-z-cudf] [gw0] [ 84%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-z-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by2-pandas] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_partition_size dask/dataframe/tests/test_rolling.py::test_time_rolling_constructor [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_constructor dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-count-args0-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-count-args0-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-sum-args1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-mean-args2-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-median-args3-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-median-args3-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-min-args4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-min-args4-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-max-args5-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-max-args5-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-std-args6-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-std-args6-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-var-args7-True] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by2-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by2-cudf] [gw0] [ 84%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by2-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by3-pandas] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-var-args7-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-skew-args8-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-quantile-args10-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-apply-args11-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[1s-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-count-args0-False] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by3-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by3-cudf] [gw0] [ 84%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by3-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-True] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-count-args0-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-sum-args1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending2] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending2] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending3] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by0-ascending3] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-True] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending2] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-mean-args2-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending2] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending3] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[10-by1-ascending3] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-True] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-True] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending2] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending2] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending3] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by0-ascending3] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-median-args3-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-True] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending2] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending2] dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending3] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_single_partition[500-by1-ascending3] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-True-first] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-True-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-False-first] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-median-args3-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-min-args4-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-False-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-a-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-True-first] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-True-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-False-first] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-False-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-b-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-True-first] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-min-args4-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-max-args5-False] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-True-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-False-first] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-False-last] [gw0] [ 84%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-1-by2-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-first] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-max-args5-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-std-args6-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-std-args6-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-var-args7-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-var-args7-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-skew-args8-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-quantile-args10-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-apply-args11-False] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-last] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[2s-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-count-args0-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-count-args0-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-sum-args1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-mean-args2-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-median-args3-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-median-args3-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-min-args4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-min-args4-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-max-args5-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-max-args5-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-std-args6-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-std-args6-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-var-args7-True] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-first] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-var-args7-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-skew-args8-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-quantile-args10-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-apply-args11-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[3s-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-count-args0-False] [gw0] [ 84%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-last] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-count-args0-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-sum-args1-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-sum-args1-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-mean-args2-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-mean-args2-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-median-args3-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-median-args3-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-min-args4-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-min-args4-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-max-args5-False] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-max-args5-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-std-args6-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-std-args6-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-var-args7-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-var-args7-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-skew-args8-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-skew-args8-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-kurt-args9-True] [gw1] [ 84%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-kurt-args9-True] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-quantile-args10-False] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-quantile-args10-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-apply-args11-False] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-first] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_methods[window3-apply-args11-False] dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[1s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[1s] dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[2s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[2s] dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[3s] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[3s] dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[window3] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_cov[window3] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[1s-10] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[1s-10] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[2s-10] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[2s-10] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10s-10] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-first] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10s-10] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10h-10] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10h-10] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10s-100] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10s-100] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10h-100] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_fixed_chunks[10h-100] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[2s] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[2s] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[5s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[5s] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[20s] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-first] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[20s] dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[10h] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling_large_window_variable_chunks[10h] dask/dataframe/tests/test_rolling.py::test_time_rolling[6s-6s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling[6s-6s] dask/dataframe/tests/test_rolling.py::test_time_rolling[2s-2s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling[2s-2s] dask/dataframe/tests/test_rolling.py::test_time_rolling[6s-2s] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_time_rolling[6s-2s] dask/dataframe/tests/test_rolling.py::test_rolling_agg_aggregate [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_rolling_agg_aggregate dask/dataframe/tests/test_rolling.py::test_rolling_numba_engine [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_rolling.py::test_rolling_numba_engine dask/dataframe/tests/test_rolling.py::test_groupby_rolling [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-first] [gw1] [ 85%] PASSED dask/dataframe/tests/test_rolling.py::test_groupby_rolling dask/dataframe/tests/test_shuffle.py::test_shuffle[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle[tasks] dask/dataframe/tests/test_shuffle.py::test_default_partitions [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_default_partitions dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions[tasks] dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions_lt_input_partitions[disk] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions_lt_input_partitions[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions_lt_input_partitions[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_npartitions_lt_input_partitions[tasks] dask/dataframe/tests/test_shuffle.py::test_index_with_non_series[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_index_with_non_series[disk] dask/dataframe/tests/test_shuffle.py::test_index_with_non_series[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_index_with_non_series[tasks] dask/dataframe/tests/test_shuffle.py::test_index_with_dataframe[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_index_with_dataframe[disk] dask/dataframe/tests/test_shuffle.py::test_index_with_dataframe[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_index_with_dataframe[tasks] dask/dataframe/tests/test_shuffle.py::test_shuffle_from_one_partition_to_one_other[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_from_one_partition_to_one_other[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle_from_one_partition_to_one_other[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_from_one_partition_to_one_other[tasks] dask/dataframe/tests/test_shuffle.py::test_shuffle_empty_partitions[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_empty_partitions[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle_empty_partitions[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_empty_partitions[tasks] dask/dataframe/tests/test_shuffle.py::test_partitioning_index [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_partitioning_index dask/dataframe/tests/test_shuffle.py::test_partitioning_index_categorical_on_values [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_partitioning_index_categorical_on_values dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-1] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-True-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-True-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-True-last] dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-4] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-False-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-False-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-a-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-True-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-True-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-False-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-False-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-b-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-True-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-True-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-False-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-False-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-1-by2-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-first] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-4] dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-7] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-last] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-7] dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-23] [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-23] dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-1] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-1] dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-4] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-first] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-4] dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-7] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-last] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-7] dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-23] [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-23] dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[python]] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-first] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[python]] dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[pyarrow]] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-last] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-object] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-object] dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[python]] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-False-first] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-False-last] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-False-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-first] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[python]] dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[pyarrow]] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-last] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-object] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-last] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-first] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-object] dask/dataframe/tests/test_shuffle.py::test_set_index_self_index[disk] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-first] dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-last] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_self_index[disk] dask/dataframe/tests/test_shuffle.py::test_set_index_self_index[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_self_index[tasks] dask/dataframe/tests/test_shuffle.py::test_set_index_names[disk] [gw1] [ 85%] XFAIL dask/dataframe/tests/test_shuffle.py::test_set_index_names[disk] dask/dataframe/tests/test_shuffle.py::test_set_index_names[tasks] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_names[tasks] dask/dataframe/tests/test_shuffle.py::test_set_index_2[disk] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-last] dask/dataframe/tests/test_shuffle.py::test_shuffle_values_raises [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_shuffle_values_raises dask/dataframe/tests/test_shuffle.py::test_shuffle_by_as_list [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_2[disk] dask/dataframe/tests/test_shuffle.py::test_set_index_2[tasks] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_by_as_list dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[1-by0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[1-by0] dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[1-by1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[1-by1] dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by0] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_2[tasks] dask/dataframe/tests/test_shuffle.py::test_set_index_3[disk] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by0] dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by1] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_3[disk] dask/dataframe/tests/test_shuffle.py::test_set_index_3[tasks] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by1] dask/dataframe/tests/test_shuffle.py::test_sort_values_bool_ascending [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_3[tasks] dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-True] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-True] dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-False] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_bool_ascending dask/dataframe/tests/test_shuffle.py::test_sort_values_timestamp[1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_timestamp[1] dask/dataframe/tests/test_shuffle.py::test_sort_values_timestamp[3] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-False] dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-True] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_timestamp[3] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data0-string[pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data0-string[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data1-binary[pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data1-binary[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data2-int64[pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data2-int64[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data3-float64[pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data3-float64[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data4-uint64[pyarrow]] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-True] dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-False] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data4-uint64[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data5-date32[pyarrow]] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data5-date32[pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data6-timestamp[ns][pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data6-timestamp[ns][pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data7-decimal128] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data7-decimal128] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data8-duration[ns][pyarrow]] [gw0] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data8-duration[ns][pyarrow]] dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data9-time64[ns][pyarrow]] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-False] dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[disk] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data9-time64[ns][pyarrow]] dask/dataframe/tests/test_shuffle.py::test_shuffle_nulls_introduced [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[disk] dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[tasks] [gw0] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_nulls_introduced dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input3] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input4] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[tasks] dask/dataframe/tests/test_shuffle.py::test_maybe_buffered_partd [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_maybe_buffered_partd dask/dataframe/tests/test_shuffle.py::test_set_index_with_explicit_divisions [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input5] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[conj-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input3] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_with_explicit_divisions dask/dataframe/tests/test_shuffle.py::test_set_index_with_empty_divisions [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_with_empty_divisions dask/dataframe/tests/test_shuffle.py::test_set_index_divisions_2 [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input4] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input5] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input3] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input4] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input5] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_divisions_2 dask/dataframe/tests/test_shuffle.py::test_set_index_consistent_divisions [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index_consistent_divisions dask/dataframe/tests/test_shuffle.py::test_set_index_detects_sorted_data[disk] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_detects_sorted_data[disk] dask/dataframe/tests/test_shuffle.py::test_set_index_detects_sorted_data[tasks] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_detects_sorted_data[tasks] dask/dataframe/tests/test_shuffle.py::test_set_index_sorts [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input0] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_sorts dask/dataframe/tests/test_shuffle.py::test_set_index[pandas] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input3] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input4] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input5] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log2-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input3] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index[pandas] dask/dataframe/tests/test_shuffle.py::test_set_index[cudf] [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index[cudf] dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate[pandas] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input4] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate[pandas] dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate[cudf] [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate[cudf] dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate_int[pandas] [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate_int[pandas] dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate_int[cudf] [gw1] [ 85%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_set_index_interpolate_int[cudf] dask/dataframe/tests/test_shuffle.py::test_set_index_npartitions [gw1] [ 85%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_npartitions dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[ns] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input5] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log10-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input0] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input3] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input4] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input5] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[log1p-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input0] [gw1] [ 85%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[ns] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input0] dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[us] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input1] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input2] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input3] [gw0] [ 85%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[expm1-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input2] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[us] dask/dataframe/tests/test_shuffle.py::test_set_index_drop[True] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sqrt-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input5] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_drop[True] dask/dataframe/tests/test_shuffle.py::test_set_index_drop[False] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[square-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sin-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cos-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input1] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_drop[False] dask/dataframe/tests/test_shuffle.py::test_set_index_raises_error_on_bad_input [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_raises_error_on_bad_input dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_true [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input4] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_true dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_single_partition [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_single_partition dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_min_max_same [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input4] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_sorted_min_max_same dask/dataframe/tests/test_shuffle.py::test_set_index_empty_partition dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tan-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsin-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input2] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_empty_partition dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[int] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccos-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input5] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[int] dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[float] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctan-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sinh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input2] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[float] dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[str] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cosh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input5] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[str] dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[tanh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arcsinh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input1] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[] dask/dataframe/tests/test_shuffle.py::test_set_index_categorical [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input2] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_categorical dask/dataframe/tests/test_shuffle.py::test_set_index_with_empty_and_overlap [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_with_empty_and_overlap dask/dataframe/tests/test_shuffle.py::test_compute_divisions [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input3] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_compute_divisions dask/dataframe/tests/test_shuffle.py::test_empty_partitions [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arccosh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input0] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_empty_partitions dask/dataframe/tests/test_shuffle.py::test_gh_2730 [gw1] [ 86%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_gh_2730 dask/dataframe/tests/test_shuffle.py::test_set_index_timestamp [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[arctanh-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input2] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_timestamp dask/dataframe/tests/test_shuffle.py::test_set_index_ea_dtype [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input3] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_ea_dtype dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_compression_option[None] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_compression_option[None] dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_compression_option[ZLib] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_compression_option[ZLib] dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_unknown_compression [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input4] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_with_unknown_compression dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_check_actual_compression [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[deg2rad-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input1] [gw1] [ 86%] FAILED dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_check_actual_compression dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-None] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rad2deg-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input5] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-True] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isfinite-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isinf-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input3] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-False] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[isnan-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[signbit-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input1] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-id-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-None] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[degrees-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input4] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-True] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[radians-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[rint-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input0] [gw1] [ 86%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-False] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input2] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input3] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input4] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input5] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[fabs-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input0] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input1] [gw0] [ 86%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input4] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input5] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[sign-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input0] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input1] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-name-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-None] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input4] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input5] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[absolute-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input0] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input1] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input4] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-True] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input5] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[floor-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input0] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input1] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input4] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input5] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[ceil-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input0] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input1] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-False] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input4] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input5] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[trunc-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input0] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input1] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input2] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input3] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input4] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-equal] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on2-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-None] [gw0] [ 87%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_or1] [gw0] [ 87%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_or1] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_and1] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-True] [gw0] [ 87%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_and1] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_xor1] [gw0] [ 87%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_xor1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-conj-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log2-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log10-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-prod] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-False] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-log1p-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-expm1-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sqrt-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-square-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sin-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cos-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsin-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccos-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-min] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-None-on3-False] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-max] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-None] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sinh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cosh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-tanh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arcsinh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arccosh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-arctanh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-deg2rad-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rad2deg-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-min] [gw1] [ 87%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-True] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isfinite-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isinf-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-prod] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-min] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-max] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-mean] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-isnan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-sum] [gw0] [ 87%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-signbit-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-degrees-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-radians-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-rint-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-fabs-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-sign-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-sum] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-True] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-prod] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-False] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-absolute-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-floor-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-ceil-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-trunc-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-logical_not-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-cbrt-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-exp2-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-mean] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-id-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-None] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-negative-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-reciprocal-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas0-spacing-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-prod] [gw0] [ 88%] XFAIL dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-conj-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-sum] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-None] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-sum] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-True] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log2-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log10-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-sum] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-False] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-log1p-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-expm1-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sqrt-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-prod] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-name-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-None] [gw0] [ 88%] XFAIL dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-square-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sin-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cos-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-sum] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-True] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsin-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccos-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-min] [gw1] [ 88%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-False] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sinh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-mean] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cosh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-sum] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-prod] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-min] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-max] [gw0] [ 88%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-tanh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-min] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on2-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-None] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arcsinh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arccosh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-arctanh-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-max] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-deg2rad-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rad2deg-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isfinite-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-mean] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isinf-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-isnan-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-signbit-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-degrees-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-prod] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[disk-4-on3-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-None] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-radians-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-rint-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-min] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-fabs-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-sign-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-prod] [gw0] [ 89%] XFAIL dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-mean] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-absolute-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-prod] [gw0] [ 89%] SKIPPED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-floor-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-prod] [gw0] [ 89%] SKIPPED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-ceil-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-sum] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-id-False] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-prod] [gw0] [ 89%] SKIPPED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-prod] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-None] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-trunc-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-logical_not-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-min] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-None] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-max] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-cbrt-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-exp2-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-prod] [gw0] [ 89%] XFAIL dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-mean] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-negative-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-mean] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-reciprocal-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-sum] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-sum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-prod] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-prod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-min] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-min] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-max] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-max] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-mean] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-name-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-None] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_reduction[pandas1-spacing-mean] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[15-pandas0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[15-pandas0] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[15-pandas1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[15-pandas1] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_0-pandas0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_0-pandas0] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_0-pandas1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_0-pandas1] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[scalar2-pandas0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[scalar2-pandas0] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[scalar2-pandas1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[scalar2-pandas1] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_1-pandas0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_1-pandas0] dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_1-pandas1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_numpy_scalar_comparison[16.4_1-pandas1] dask/dataframe/tests/test_utils_dataframe.py::test_make_meta [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_make_meta dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty dask/dataframe/tests/test_utils_dataframe.py::test_meta_duplicated [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_duplicated dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_empty_categories [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_empty_categories dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_index [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_index dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_uint64index [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_uint64index dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_scalar [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_nonempty_scalar dask/dataframe/tests/test_utils_dataframe.py::test_raise_on_meta_error [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_raise_on_meta_error dask/dataframe/tests/test_utils_dataframe.py::test_check_meta [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_check_meta dask/dataframe/tests/test_utils_dataframe.py::test_check_matching_columns_raises_appropriate_errors [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_check_matching_columns_raises_appropriate_errors dask/dataframe/tests/test_utils_dataframe.py::test_check_meta_typename [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_check_meta_typename dask/dataframe/tests/test_utils_dataframe.py::test_is_dataframe_like[True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_is_dataframe_like[True] dask/dataframe/tests/test_utils_dataframe.py::test_is_dataframe_like[False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_is_dataframe_like[False] dask/dataframe/tests/test_utils_dataframe.py::test_apply_and_enforce_message [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_apply_and_enforce_message dask/dataframe/tests/test_utils_dataframe.py::test_nonempty_series_sparse [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_nonempty_series_sparse dask/dataframe/tests/test_utils_dataframe.py::test_nonempty_series_nullable_float [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_nonempty_series_nullable_float dask/dataframe/tests/test_utils_dataframe.py::test_assert_eq_sorts [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-True] [gw1] [ 89%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-False] [gw0] [ 89%] FAILED dask/dataframe/tests/test_utils_dataframe.py::test_assert_eq_sorts dask/dataframe/tests/test_utils_dataframe.py::test_assert_eq_scheduler [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_assert_eq_scheduler dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data0] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data1] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data2] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data2] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data3] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data3] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data4] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data4] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data5] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities[data5] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities_raise[data0] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities_raise[data0] dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities_raise[data1] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_meta_constructor_utilities_raise[data1] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions0-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions0-True] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions1-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions1-False] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions2-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions2-False] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions3-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions3-True] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions4-True] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions4-True] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[123-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[123-False] dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions6-False] [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_valid_divisions[divisions6-False] dask/dataframe/tests/test_utils_dataframe.py::test_pyarrow_strings_enabled [gw0] [ 89%] PASSED dask/dataframe/tests/test_utils_dataframe.py::test_pyarrow_strings_enabled dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-right-right] [gw0] [ 89%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on2-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-None] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-True] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-False] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-None-on3-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-None] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-count-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-left-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-True] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-False] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-left-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-id-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-None] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-right-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-True] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-left-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-True] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-left-left] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-False] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-name-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-None] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-mean-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-True] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-False] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on2-False] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-None] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-None] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-True] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-left-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-True] dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-False] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[series-ohlc-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_dataframe_shuffle_on_arg[tasks-4-on3-False] dask/dataframe/tests/test_shuffle.py::test_set_index_overlap [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-right-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_overlap dask/dataframe/tests/test_shuffle.py::test_set_index_overlap_2 [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_overlap_2 dask/dataframe/tests/test_shuffle.py::test_set_index_overlap_does_not_drop_rows_when_divisions_overlap [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-right-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_overlap_does_not_drop_rows_when_divisions_overlap dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_nan_partition [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-right-right] [gw1] [ 90%] FAILED dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_nan_partition dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_overlap [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-left-right] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_overlap dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_overlap_2 [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_overlap_2 dask/dataframe/tests/test_shuffle.py::test_set_index_nan_partition [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-left-left] [gw1] [ 90%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_nan_partition dask/dataframe/tests/test_shuffle.py::test_set_index_with_dask_dt_index [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-right-right] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-right-left] [gw0] [ 90%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-right-right] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_with_dask_dt_index dask/dataframe/tests/test_shuffle.py::test_set_index_with_series_uses_fastpath [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-right-left] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_set_index_with_series_uses_fastpath dask/dataframe/tests/test_shuffle.py::test_sort_values[10-a-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-count-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-left-left] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-a-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[10-a-False] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-right-left] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-a-False] dask/dataframe/tests/test_shuffle.py::test_sort_values[10-b-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-left-left] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-b-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[10-b-False] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-right-right] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-b-False] dask/dataframe/tests/test_shuffle.py::test_sort_values[10-by2-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-mean-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-left-right] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-by2-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[10-by2-False] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-left-left] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-by2-False] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-a-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-2-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-right-left] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-a-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-a-False] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-a-False] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-b-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-left-right] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-b-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-b-False] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-30min-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-D-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-right-right] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-b-False] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-by2-True] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-W-left-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-right-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-right-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-right-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-right-left] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-left-right] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-left-right] dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-left-left] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample[frame-ohlc-5-ME-left-left] dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[count] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[count] dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[nunique] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-by2-True] dask/dataframe/tests/test_shuffle.py::test_sort_values[500-by2-False] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[nunique] dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[size] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-by2-False] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-x-pandas] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[size] dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[sum] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_has_correct_fill_value[sum] dask/dataframe/tseries/tests/test_resample.py::test_resample_agg [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_agg dask/dataframe/tseries/tests/test_resample.py::test_resample_agg_passes_kwargs [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-x-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-x-cudf] [gw1] [ 91%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-x-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-z-pandas] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_agg_passes_kwargs dask/dataframe/tseries/tests/test_resample.py::test_resample_throws_error_when_parition_index_does_not_match_index [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_throws_error_when_parition_index_does_not_match_index dask/dataframe/tseries/tests/test_resample.py::test_resample_pads_last_division_to_avoid_off_by_one [gw0] [ 91%] FAILED dask/dataframe/tseries/tests/test_resample.py::test_resample_pads_last_division_to_avoid_off_by_one dask/dataframe/tseries/tests/test_resample.py::test_resample_does_not_evenly_divide_day [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_does_not_evenly_divide_day dask/dataframe/tseries/tests/test_resample.py::test_series_resample_does_not_evenly_divide_day [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample_does_not_evenly_divide_day dask/dataframe/tseries/tests/test_resample.py::test_unknown_divisions_error [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_unknown_divisions_error dask/dataframe/tseries/tests/test_resample.py::test_resample_index_name [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_resample_index_name dask/dataframe/tseries/tests/test_resample.py::test_series_resample_non_existent_datetime [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_series_resample_non_existent_datetime dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[nunique] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[nunique] dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[mean] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[mean] dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[count] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[count] dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[size] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[size] dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[quantile] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_common_aggs[quantile] dask/dataframe/tseries/tests/test_resample.py::test_rule_deprecated [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample.py::test_rule_deprecated dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[count-kwargs0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[count-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[count-kwargs1] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-z-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-z-cudf] [gw1] [ 91%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-z-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by2-pandas] [gw1] [ 91%] PASSED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by2-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by2-cudf] [gw1] [ 91%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by2-cudf] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by3-pandas] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[count-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[prod-kwargs0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[prod-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[prod-kwargs1] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[prod-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[mean-kwargs0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[mean-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[mean-kwargs1] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[mean-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sum-kwargs0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sum-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sum-kwargs1] [gw1] [ 91%] FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by3-pandas] dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by3-cudf] [gw1] [ 91%] SKIPPED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by3-cudf] dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input5] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sum-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[min-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[logical_not-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input1] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[min-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[min-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input2] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[min-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[max-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input3] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input4] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input5] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[max-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[max-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[cbrt-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[max-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[first-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input2] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[first-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[first-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input3] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input4] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input5] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[first-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[last-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[exp2-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input1] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[last-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[last-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input2] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input3] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[last-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[var-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input4] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input5] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[var-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[var-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[negative-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input1] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[var-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[std-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input2] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input3] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[std-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[std-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input4] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input5] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[std-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[size-kwargs0] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[reciprocal-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input0] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[size-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[size-kwargs1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input0] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input1] [gw1] [ 91%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input1] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input2] [gw0] [ 91%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[size-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[nunique-kwargs0] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input2] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input3] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input3] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input4] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[nunique-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[nunique-kwargs1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input4] dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input5] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc[spacing-pandas_input5] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[isreal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[nunique-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[median-kwargs0] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[isreal] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[iscomplex] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[iscomplex] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[real] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[real] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[imag] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[median-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[median-kwargs1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[imag] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[angle] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[angle] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[fix] [gw1] [ 92%] SKIPPED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[fix] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[i0] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[i0] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[sinc] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[median-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[quantile-kwargs0] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[sinc] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[nan_to_num] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped[nan_to_num] dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped_not_implemented [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[quantile-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[quantile-kwargs1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_wrapped_not_implemented dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logaddexp] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[quantile-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[ohlc-kwargs0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[ohlc-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[ohlc-kwargs1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logaddexp] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logaddexp2] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logaddexp2] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-arctan2] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[ohlc-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sem-kwargs0] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-arctan2] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-hypot] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sem-kwargs0] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sem-kwargs1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-hypot] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-copysign] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_apis[sem-kwargs1] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-copysign] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-nextafter] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-nextafter] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-ldexp] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-ldexp] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmod] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_and0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_and0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_or0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_or0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_xor0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_xor0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-maximum] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-maximum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-minimum] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-minimum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmax] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmax] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmin] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-fmin] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-greater] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-greater] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-greater_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-greater_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-less] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-less] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-less_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-less_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-not_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-not_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-count-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_or1] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_or1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_and1] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_and1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_xor1] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[0-logical_xor1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logaddexp] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logaddexp] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logaddexp2] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logaddexp2] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-arctan2] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-arctan2] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-hypot] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-hypot] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-copysign] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-copysign] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-left-right] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-nextafter] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-nextafter] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-ldexp] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-ldexp] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmod] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-mean-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmod] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_and0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_and0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_or0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_or0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_xor0] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_xor0] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-maximum] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-maximum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-minimum] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-minimum] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmax] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmax] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmin] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-fmin] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-greater] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-greater] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-greater_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-greater_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-less] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-left-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-less] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-less_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[series-ohlc-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-less_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-not_equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-left-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-right-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-not_equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-equal] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-right-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-left-right] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-equal] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_or1] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_or1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_and1] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-left-left] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-right-right] [gw0] [ 92%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-right-left] [gw1] [ 92%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_and1] dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_xor1] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_ufunc_with_2args[1-logical_xor1] dask/dataframe/tests/test_ufunc.py::test_clip[pandas0-5-50] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_clip[pandas0-5-50] dask/dataframe/tests/test_ufunc.py::test_clip[pandas1-5.5-40.5] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_clip[pandas1-5.5-40.5] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[conj] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[conj] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[exp] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[exp] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log2] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log2] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log10] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log1p] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[log1p] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[expm1] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[expm1] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sqrt] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sqrt] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[square] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[square] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sin] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sin] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cos] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cos] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[tan] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[tan] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arcsin] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arcsin] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arccos] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arccos] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arctan] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arctan] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sinh] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sinh] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cosh] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cosh] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[tanh] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[tanh] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arcsinh] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arcsinh] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arccosh] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arccosh] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arctanh] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[arctanh] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-D-left-left] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[deg2rad] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[deg2rad] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[rad2deg] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[rad2deg] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isfinite] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isfinite] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isinf] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isinf] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isnan] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[isnan] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[signbit] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[signbit] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[degrees] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[degrees] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[radians] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-count-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[radians] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[rint] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[rint] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[fabs] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[fabs] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sign] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[sign] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[absolute] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-30min-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[absolute] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[floor] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[floor] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[ceil] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[ceil] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[trunc] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[trunc] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[logical_not] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[logical_not] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cbrt] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[cbrt] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[exp2] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[exp2] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[negative] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[negative] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[reciprocal] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[reciprocal] dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[spacing] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_ufunc_out[spacing] dask/dataframe/tests/test_ufunc.py::test_frame_2ufunc_out [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_frame_2ufunc_out dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp-arg21-arg11] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-right-left] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-2-arg10] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logaddexp2-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-mean-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[arctan2-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-right-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-D-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-right-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[hypot-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-2-arg11] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-2-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-right-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-30min-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[copysign-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-arg21-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-h-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-right-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-left-right] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[nextafter-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-2-arg10] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-D-left-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-arg21-arg10] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-right-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-right-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-right-left] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[ldexp-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-2-arg10] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-right-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-left-right] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-2-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-left-right] dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-left-left] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_series_resample[frame-ohlc-5-W-left-left] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_agg [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-arg21-arg10] [gw0] [ 93%] FAILED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_agg dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[count] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[count] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[nunique] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[nunique] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[size] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[size] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[sum] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_has_correct_fill_value[sum] dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_divisions_propagation [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmod-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-2-arg10] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-2-arg11] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-arg21-arg10] [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-arg21-arg11] [gw0] [ 93%] PASSED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_divisions_propagation dask/diagnostics/tests/test_profiler.py::test_profiler [gw1] [ 93%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and0-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-2-arg10] [gw0] [ 93%] PASSED dask/diagnostics/tests/test_profiler.py::test_profiler dask/diagnostics/tests/test_profiler.py::test_profiler_works_under_error [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_profiler_works_under_error dask/diagnostics/tests/test_profiler.py::test_two_gets [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_two_gets dask/diagnostics/tests/test_profiler.py::test_resource_profiler [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_resource_profiler dask/diagnostics/tests/test_profiler.py::test_resource_profiler_multiple_gets [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or0-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_resource_profiler_multiple_gets dask/diagnostics/tests/test_profiler.py::test_cache_profiler [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor0-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_cache_profiler dask/diagnostics/tests/test_profiler.py::test_register[Profiler] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[maximum-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-2-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_register[Profiler] dask/diagnostics/tests/test_profiler.py::test_register[] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_register[] dask/diagnostics/tests/test_profiler.py::test_register[CacheProfiler] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[minimum-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_profiler.py::test_register[CacheProfiler] dask/diagnostics/tests/test_profiler.py::test_unquote [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_unquote dask/diagnostics/tests/test_profiler.py::test_profiler_plot [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_profiler_plot dask/diagnostics/tests/test_profiler.py::test_resource_profiler_plot [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_resource_profiler_plot dask/diagnostics/tests/test_profiler.py::test_cache_profiler_plot [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_cache_profiler_plot dask/diagnostics/tests/test_profiler.py::test_cache_profiler_plot_with_invalid_bokeh_kwarg_raises_error [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_cache_profiler_plot_with_invalid_bokeh_kwarg_raises_error dask/diagnostics/tests/test_profiler.py::test_plot_multiple [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_plot_multiple dask/diagnostics/tests/test_profiler.py::test_saves_file [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_saves_file dask/diagnostics/tests/test_profiler.py::test_saves_file_path_deprecated [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_saves_file_path_deprecated dask/diagnostics/tests/test_profiler.py::test_get_colors [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_profiler.py::test_get_colors dask/diagnostics/tests/test_progress.py::test_array_compute [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_array_compute dask/diagnostics/tests/test_progress.py::test_progressbar [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmax-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_progressbar dask/diagnostics/tests/test_progress.py::test_minimum_time [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_minimum_time dask/diagnostics/tests/test_progress.py::test_clean_exit[get] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[fmin-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-2-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_clean_exit[get] dask/diagnostics/tests/test_progress.py::test_clean_exit[get_sync] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_clean_exit[get_sync] dask/diagnostics/tests/test_progress.py::test_format_time [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_format_time dask/diagnostics/tests/test_progress.py::test_register [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_register dask/diagnostics/tests/test_progress.py::test_no_tasks [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-2-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_no_tasks dask/diagnostics/tests/test_progress.py::test_with_cache [gw0] [ 94%] SKIPPED dask/diagnostics/tests/test_progress.py::test_with_cache dask/diagnostics/tests/test_progress.py::test_with_alias [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-arg21-arg10] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_with_alias dask/diagnostics/tests/test_progress.py::test_store_time [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-arg21-arg11] [gw0] [ 94%] PASSED dask/diagnostics/tests/test_progress.py::test_store_time dask/tests/test_backends.py::test_CreationDispatch_error_informative_message[pandas] [gw0] [ 94%] PASSED dask/tests/test_backends.py::test_CreationDispatch_error_informative_message[pandas] dask/tests/test_backends.py::test_CreationDispatch_error_informative_message[cudf] [gw0] [ 94%] SKIPPED dask/tests/test_backends.py::test_CreationDispatch_error_informative_message[cudf] dask/tests/test_base.py::test_is_dask_collection [gw0] [ 94%] PASSED dask/tests/test_base.py::test_is_dask_collection dask/tests/test_base.py::test_is_dask_collection_dask_expr [gw0] [ 94%] PASSED dask/tests/test_base.py::test_is_dask_collection_dask_expr dask/tests/test_base.py::test_is_dask_collection_dask_expr_does_not_materialize [gw0] [ 94%] PASSED dask/tests/test_base.py::test_is_dask_collection_dask_expr_does_not_materialize dask/tests/test_base.py::test_unpack_collections [gw0] [ 94%] PASSED dask/tests/test_base.py::test_unpack_collections dask/tests/test_base.py::test_get_collection_names [gw0] [ 94%] PASSED dask/tests/test_base.py::test_get_collection_names dask/tests/test_base.py::test_get_name_from_key [gw0] [ 94%] PASSED dask/tests/test_base.py::test_get_name_from_key dask/tests/test_base.py::test_replace_name_in_keys [gw0] [ 94%] PASSED dask/tests/test_base.py::test_replace_name_in_keys dask/tests/test_base.py::test_custom_collection [gw0] [ 94%] PASSED dask/tests/test_base.py::test_custom_collection [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[greater_equal-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-2-arg10] dask/tests/test_base.py::test_compute_no_opt [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_no_opt dask/tests/test_base.py::test_compute_array [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_array dask/tests/test_base.py::test_persist_array [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-2-arg11] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_array dask/tests/test_base.py::test_persist_array_rename [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_array_rename dask/tests/test_base.py::test_compute_dataframe [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_dataframe dask/tests/test_base.py::test_persist_dataframe [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_dataframe dask/tests/test_base.py::test_persist_series [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_series dask/tests/test_base.py::test_persist_scalar [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-2-arg11] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_scalar dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-arg21-arg10] dask/tests/test_base.py::test_compute_array_dataframe [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_array_dataframe dask/tests/test_base.py::test_compute_dataframe_valid_unicode_in_bytes [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_dataframe_valid_unicode_in_bytes dask/tests/test_base.py::test_compute_dataframe_invalid_unicode [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_dataframe_invalid_unicode dask/tests/test_base.py::test_compute_array_bag [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_array_bag dask/tests/test_base.py::test_compute_with_literal [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_with_literal dask/tests/test_base.py::test_compute_nested [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_nested dask/tests/test_base.py::test_visualize [gw0] [ 94%] SKIPPED dask/tests/test_base.py::test_visualize dask/tests/test_base.py::test_visualize_highlevelgraph [gw0] [ 94%] PASSED dask/tests/test_base.py::test_visualize_highlevelgraph dask/tests/test_base.py::test_visualize_order [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[less_equal-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[not_equal-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[equal-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-arg21-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_or1-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-arg21-arg10] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_visualize_order dask/tests/test_base.py::test_optimize [gw0] [ 94%] PASSED dask/tests/test_base.py::test_optimize dask/tests/test_base.py::test_optimize_nested [gw0] [ 94%] PASSED dask/tests/test_base.py::test_optimize_nested dask/tests/test_base.py::test_default_imports [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_and1-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-2-arg10] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-2-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-2-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-2-arg11] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-arg21-arg10] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_default_imports dask/tests/test_base.py::test_persist_literals [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_literals dask/tests/test_base.py::test_persist_nested [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_nested dask/tests/test_base.py::test_persist_delayed [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed dask/tests/test_base.py::test_persist_delayed_custom_key[a] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_custom_key[a] dask/tests/test_base.py::test_persist_delayed_custom_key[key1] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_custom_key[key1] dask/tests/test_base.py::test_persist_delayed_rename[a-rename0-a] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_rename[a-rename0-a] dask/tests/test_base.py::test_persist_delayed_rename[a-rename1-a] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_rename[a-rename1-a] dask/tests/test_base.py::test_persist_delayed_rename[a-rename2-b] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_rename[a-rename2-b] dask/tests/test_base.py::test_persist_delayed_rename[key3-rename3-new_key3] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayed_rename[key3-rename3-new_key3] dask/tests/test_base.py::test_persist_delayedleaf [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayedleaf dask/tests/test_base.py::test_persist_delayedattr [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_delayedattr dask/tests/test_base.py::test_persist_array_bag [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-arg21-arg10] dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-arg21-arg11] [gw1] [ 94%] PASSED dask/dataframe/tests/test_ufunc.py::test_mixed_types[logical_xor1-arg21-arg11] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logaddexp] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logaddexp] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logaddexp2] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logaddexp2] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-arctan2] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-arctan2] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-hypot] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-hypot] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-copysign] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-copysign] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-nextafter] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-nextafter] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-ldexp] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_array_bag dask/tests/test_base.py::test_persist_bag [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_bag dask/tests/test_base.py::test_persist_item [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_item dask/tests/test_base.py::test_persist_bag_rename [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_bag_rename [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-ldexp] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmod] dask/tests/test_base.py::test_persist_item_change_name [gw0] [ 94%] PASSED dask/tests/test_base.py::test_persist_item_change_name dask/tests/test_base.py::test_optimize_globals [gw0] [ 94%] PASSED dask/tests/test_base.py::test_optimize_globals dask/tests/test_base.py::test_optimize_None [gw0] [ 94%] PASSED dask/tests/test_base.py::test_optimize_None dask/tests/test_base.py::test_scheduler_keyword [gw0] [ 94%] PASSED dask/tests/test_base.py::test_scheduler_keyword dask/tests/test_base.py::test_raise_get_keyword [gw0] [ 94%] PASSED dask/tests/test_base.py::test_raise_get_keyword dask/tests/test_base.py::test_get_scheduler [gw0] [ 94%] PASSED dask/tests/test_base.py::test_get_scheduler dask/tests/test_base.py::test_callable_scheduler [gw0] [ 94%] PASSED dask/tests/test_base.py::test_callable_scheduler dask/tests/test_base.py::test_num_workers_config[threads] [gw0] [ 94%] SKIPPED dask/tests/test_base.py::test_num_workers_config[threads] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmod] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_and0] dask/tests/test_base.py::test_num_workers_config[processes] [gw0] [ 94%] SKIPPED dask/tests/test_base.py::test_num_workers_config[processes] dask/tests/test_base.py::test_clone_key [gw0] [ 94%] PASSED dask/tests/test_base.py::test_clone_key dask/tests/test_base.py::test_compute_as_if_collection_low_level_task_graph [gw0] [ 94%] PASSED dask/tests/test_base.py::test_compute_as_if_collection_low_level_task_graph dask/tests/test_base.py::test_emscripten_default_scheduler['dask.array', 'Array', 'sync', True] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_and0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_or0] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_or0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_xor0] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_xor0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-maximum] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-maximum] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-minimum] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-minimum] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmax] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmax] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmin] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-fmin] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-greater] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-greater] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-greater_equal] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-greater_equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-less] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-less] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-less_equal] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_emscripten_default_scheduler['dask.array', 'Array', 'sync', True] dask/tests/test_base.py::test_emscripten_default_scheduler['dask.array', 'Array', 'threads', False] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-less_equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-not_equal] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-not_equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-equal] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_or1] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_or1] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_and1] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_and1] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_xor1] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas0-darray0-logical_xor1] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logaddexp] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logaddexp] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logaddexp2] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logaddexp2] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-arctan2] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-arctan2] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-hypot] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-hypot] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-copysign] [gw1] [ 94%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-copysign] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-nextafter] [gw0] [ 94%] PASSED dask/tests/test_base.py::test_emscripten_default_scheduler['dask.array', 'Array', 'threads', False] dask/tests/test_base.py::test_emscripten_default_scheduler['dask.bag', 'Bag', 'sync', True] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-nextafter] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-ldexp] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-ldexp] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmod] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmod] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_and0] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_and0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_or0] [gw0] [ 95%] PASSED dask/tests/test_base.py::test_emscripten_default_scheduler['dask.bag', 'Bag', 'sync', True] dask/tests/test_base.py::test_emscripten_default_scheduler['dask.bag', 'Bag', 'processes', False] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_or0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_xor0] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-logical_xor0] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-maximum] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-maximum] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-minimum] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-minimum] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmax] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmax] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmin] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-fmin] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-greater] [gw0] [ 95%] PASSED dask/tests/test_base.py::test_emscripten_default_scheduler['dask.bag', 'Bag', 'processes', False] dask/tests/test_callbacks.py::test_start_callback [gw0] [ 95%] PASSED dask/tests/test_callbacks.py::test_start_callback dask/tests/test_callbacks.py::test_start_state_callback [gw0] [ 95%] PASSED dask/tests/test_callbacks.py::test_start_state_callback dask/tests/test_callbacks.py::test_finish_always_called [gw0] [ 95%] PASSED dask/tests/test_callbacks.py::test_finish_always_called dask/tests/test_callbacks.py::test_nested_schedulers [gw0] [ 95%] PASSED dask/tests/test_callbacks.py::test_nested_schedulers dask/tests/test_callbacks.py::test_add_remove_mutates_not_replaces [gw0] [ 95%] PASSED dask/tests/test_callbacks.py::test_add_remove_mutates_not_replaces dask/tests/test_ci.py::test_upstream_packages_installed [gw0] [ 95%] SKIPPED dask/tests/test_ci.py::test_upstream_packages_installed dask/tests/test_cli.py::test_config_get_no_key [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_get_no_key dask/tests/test_cli.py::test_config_get_value [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_get_value dask/tests/test_cli.py::test_config_get_bad_value [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_get_bad_value dask/tests/test_cli.py::test_config_get_none [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_get_none dask/tests/test_cli.py::test_config_set_value[True-None-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-True-333MiB] dask/tests/test_cli.py::test_config_set_value[True-None-True-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-True-2] dask/tests/test_cli.py::test_config_set_value[True-None-True-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-True-value2] dask/tests/test_cli.py::test_config_set_value[True-None-True-value3] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-greater] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-greater_equal] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-True-value3] dask/tests/test_cli.py::test_config_set_value[True-None-True-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-True-None] dask/tests/test_cli.py::test_config_set_value[True-None-False-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-False-333MiB] dask/tests/test_cli.py::test_config_set_value[True-None-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-False-2] dask/tests/test_cli.py::test_config_set_value[True-None-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-False-value2] dask/tests/test_cli.py::test_config_set_value[True-None-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-False-value3] dask/tests/test_cli.py::test_config_set_value[True-None-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-None-False-None] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-333MiB] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-2] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-value2] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-greater_equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-less] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-value2] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-value3] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-True-None] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-333MiB] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-2] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-value2] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-value3] dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-bar.yaml-False-None] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-333MiB] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-2] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-value2] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-value3] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-less] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-less_equal] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-value3] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-True-None] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-333MiB] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-2] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-value2] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-value3] dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[True-foo/bar.yaml-False-None] dask/tests/test_cli.py::test_config_set_value[False-None-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-True-333MiB] dask/tests/test_cli.py::test_config_set_value[False-None-True-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-True-2] dask/tests/test_cli.py::test_config_set_value[False-None-True-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-True-value2] dask/tests/test_cli.py::test_config_set_value[False-None-True-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-True-value3] dask/tests/test_cli.py::test_config_set_value[False-None-True-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-True-None] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-less_equal] dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-not_equal] dask/tests/test_cli.py::test_config_set_value[False-None-False-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-False-333MiB] dask/tests/test_cli.py::test_config_set_value[False-None-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-False-2] dask/tests/test_cli.py::test_config_set_value[False-None-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-False-value2] dask/tests/test_cli.py::test_config_set_value[False-None-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-False-value3] dask/tests/test_cli.py::test_config_set_value[False-None-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-None-False-None] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-333MiB] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-2] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-value2] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-value3] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-True-None] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-333MiB] [gw1] [ 95%] XFAIL dask/dataframe/tests/test_ufunc.py::test_2args_with_array[pandas1-darray1-not_equal] dask/tests/test_config.py::test_expand_environment_variables[$FOO-foo] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[$FOO-foo] dask/tests/test_config.py::test_expand_environment_variables[inp3-out3] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[inp3-out3] dask/tests/test_config.py::test_expand_environment_variables[inp4-out4] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[inp4-out4] dask/tests/test_config.py::test_expand_environment_variables[inp5-out5] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-333MiB] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[inp5-out5] dask/tests/test_config.py::test_expand_environment_variables[inp6-out6] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[inp6-out6] dask/tests/test_config.py::test_expand_environment_variables[inp7-out7] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_expand_environment_variables[inp7-out7] dask/tests/test_config.py::test_env_var_canonical_name [gw1] [ 95%] PASSED dask/tests/test_config.py::test_env_var_canonical_name dask/tests/test_config.py::test_get_set_canonical_name [gw1] [ 95%] PASSED dask/tests/test_config.py::test_get_set_canonical_name dask/tests/test_config.py::test_get_set_roundtrip[custom_key] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_get_set_roundtrip[custom_key] dask/tests/test_config.py::test_get_set_roundtrip[custom-key] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_get_set_roundtrip[custom-key] dask/tests/test_config.py::test_merge_None_to_dict [gw1] [ 95%] PASSED dask/tests/test_config.py::test_merge_None_to_dict dask/tests/test_config.py::test_core_file [gw1] [ 95%] PASSED dask/tests/test_config.py::test_core_file dask/tests/test_config.py::test_schema dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-2] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-value2] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-value3] dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-bar.yaml-False-None] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-333MiB] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-333MiB] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-2] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_schema dask/tests/test_config.py::test_schema_is_complete [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-2] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-value2] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_schema_is_complete dask/tests/test_config.py::test_rename [gw1] [ 95%] PASSED dask/tests/test_config.py::test_rename dask/tests/test_config.py::test_deprecations_on_set[args0-kwargs0] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_set[args0-kwargs0] dask/tests/test_config.py::test_deprecations_on_set[args1-kwargs1] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_set[args1-kwargs1] dask/tests/test_config.py::test_deprecations_on_set[args2-kwargs2] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_set[args2-kwargs2] dask/tests/test_config.py::test_deprecations_on_env_variables [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_env_variables dask/tests/test_config.py::test_deprecations_on_yaml[fuse-ave-width] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_yaml[fuse-ave-width] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-value3] dask/tests/test_config.py::test_deprecations_on_yaml[fuse_ave_width] [gw1] [ 95%] PASSED dask/tests/test_config.py::test_deprecations_on_yaml[fuse_ave_width] dask/tests/test_config.py::test_get_override_with [gw1] [ 95%] PASSED dask/tests/test_config.py::test_get_override_with dask/tests/test_config.py::test_config_serialization [gw1] [ 95%] PASSED dask/tests/test_config.py::test_config_serialization dask/tests/test_config.py::test_config_inheritance [gw1] [ 95%] PASSED dask/tests/test_config.py::test_config_inheritance dask/tests/test_config.py::test__get_paths [gw1] [ 95%] PASSED dask/tests/test_config.py::test__get_paths dask/tests/test_config.py::test_default_search_paths [gw1] [ 95%] PASSED dask/tests/test_config.py::test_default_search_paths dask/tests/test_context.py::test_with_get [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-value3] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-None] [gw1] [ 95%] PASSED dask/tests/test_context.py::test_with_get dask/tests/test_context.py::test_globalmethod [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-True-None] [gw1] [ 95%] PASSED dask/tests/test_context.py::test_globalmethod dask/tests/test_core.py::test_ishashable [gw1] [ 95%] PASSED dask/tests/test_core.py::test_ishashable dask/tests/test_core.py::test_iskey [gw1] [ 95%] PASSED dask/tests/test_core.py::test_iskey dask/tests/test_core.py::test_iskey_numpy_types [gw1] [ 95%] PASSED dask/tests/test_core.py::test_iskey_numpy_types dask/tests/test_core.py::test_validate_key [gw1] [ 95%] PASSED dask/tests/test_core.py::test_validate_key dask/tests/test_core.py::test_istask [gw1] [ 95%] PASSED dask/tests/test_core.py::test_istask dask/tests/test_core.py::test_preorder_traversal [gw1] [ 95%] PASSED dask/tests/test_core.py::test_preorder_traversal dask/tests/test_core.py::TestGet::test_get [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_get dask/tests/test_core.py::TestGet::test_badkey dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-333MiB] [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_badkey dask/tests/test_core.py::TestGet::test_nested_badkey [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_nested_badkey dask/tests/test_core.py::TestGet::test_data_not_in_dict_is_ok [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_data_not_in_dict_is_ok dask/tests/test_core.py::TestGet::test_get_with_list [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_get_with_list dask/tests/test_core.py::TestGet::test_get_with_list_top_level [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_get_with_list_top_level dask/tests/test_core.py::TestGet::test_get_with_nested_list [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_get_with_nested_list dask/tests/test_core.py::TestGet::test_get_works_with_unhashables_in_values [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_get_works_with_unhashables_in_values dask/tests/test_core.py::TestGet::test_nested_tasks [gw1] [ 95%] PASSED dask/tests/test_core.py::TestGet::test_nested_tasks [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-333MiB] dask/tests/test_core.py::TestGet::test_get_stack_limit dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-2] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-value2] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-value2] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-value3] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-value3] dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-None] [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_set_value[False-foo/bar.yaml-False-None] dask/tests/test_cli.py::test_config_find [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_find dask/tests/test_cli.py::test_config_list [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_config_list dask/tests/test_cli.py::test_version [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_version dask/tests/test_cli.py::test_info_versions [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_info_versions dask/tests/test_cli.py::test_register_command_ep [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_register_command_ep dask/tests/test_cli.py::test_repeated_name_registration_warn [gw0] [ 95%] PASSED dask/tests/test_cli.py::test_repeated_name_registration_warn dask/tests/test_compatibility.py::test_entry_points [gw0] [ 95%] PASSED dask/tests/test_compatibility.py::test_entry_points dask/tests/test_config.py::test_canonical_name [gw0] [ 95%] PASSED dask/tests/test_config.py::test_canonical_name dask/tests/test_config.py::test_update [gw0] [ 95%] PASSED dask/tests/test_config.py::test_update dask/tests/test_config.py::test_update_new_defaults [gw0] [ 95%] PASSED dask/tests/test_config.py::test_update_new_defaults dask/tests/test_config.py::test_update_defaults [gw0] [ 95%] PASSED dask/tests/test_config.py::test_update_defaults dask/tests/test_config.py::test_update_list_to_dict [gw0] [ 95%] PASSED dask/tests/test_config.py::test_update_list_to_dict dask/tests/test_config.py::test_update_dict_to_list [gw0] [ 95%] PASSED dask/tests/test_config.py::test_update_dict_to_list dask/tests/test_config.py::test_merge [gw0] [ 95%] PASSED dask/tests/test_config.py::test_merge dask/tests/test_config.py::test_collect_yaml_paths [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_paths dask/tests/test_config.py::test_paths_containing_key [gw0] [ 95%] PASSED dask/tests/test_config.py::test_paths_containing_key dask/tests/test_config.py::test_collect_yaml_dir [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_dir dask/tests/test_config.py::test_collect_yaml_permission_errors[directory] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_permission_errors[directory] dask/tests/test_config.py::test_collect_yaml_permission_errors[file] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_permission_errors[file] dask/tests/test_config.py::test_collect_yaml_malformed_file [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_malformed_file dask/tests/test_config.py::test_collect_yaml_no_top_level_dict [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_yaml_no_top_level_dict dask/tests/test_config.py::test_env [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env dask/tests/test_config.py::test_env_special_values[None-None-0] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[None-None-0] dask/tests/test_config.py::test_env_special_values[None-None-1] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[None-None-1] dask/tests/test_config.py::test_env_special_values[None-None-2] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[None-None-2] dask/tests/test_config.py::test_env_special_values[Null-None-0] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[Null-None-0] dask/tests/test_config.py::test_env_special_values[Null-None-1] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[Null-None-1] dask/tests/test_config.py::test_env_special_values[Null-None-2] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[Null-None-2] dask/tests/test_config.py::test_env_special_values[False-False-0] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[False-False-0] dask/tests/test_config.py::test_env_special_values[False-False-1] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[False-False-1] dask/tests/test_config.py::test_env_special_values[False-False-2] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[False-False-2] dask/tests/test_config.py::test_env_special_values[True-True-0] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[True-True-0] dask/tests/test_config.py::test_env_special_values[True-True-1] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[True-True-1] dask/tests/test_config.py::test_env_special_values[True-True-2] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_env_special_values[True-True-2] dask/tests/test_config.py::test_collect [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect dask/tests/test_config.py::test_collect_env_none [gw0] [ 95%] PASSED dask/tests/test_config.py::test_collect_env_none dask/tests/test_config.py::test_get [gw0] [ 95%] PASSED dask/tests/test_config.py::test_get dask/tests/test_config.py::test_ensure_file [gw0] [ 95%] PASSED dask/tests/test_config.py::test_ensure_file dask/tests/test_config.py::test_set [gw0] [ 95%] PASSED dask/tests/test_config.py::test_set dask/tests/test_config.py::test_set_kwargs [gw0] [ 95%] PASSED dask/tests/test_config.py::test_set_kwargs dask/tests/test_config.py::test_set_nested [gw0] [ 95%] PASSED dask/tests/test_config.py::test_set_nested dask/tests/test_config.py::test_set_hard_to_copyables [gw0] [ 95%] PASSED dask/tests/test_config.py::test_set_hard_to_copyables dask/tests/test_config.py::test_ensure_file_directory[True] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_ensure_file_directory[True] dask/tests/test_config.py::test_ensure_file_directory[False] [gw0] [ 95%] PASSED dask/tests/test_config.py::test_ensure_file_directory[False] dask/tests/test_config.py::test_ensure_file_defaults_to_DASK_CONFIG_directory [gw0] [ 95%] PASSED dask/tests/test_config.py::test_ensure_file_defaults_to_DASK_CONFIG_directory dask/tests/test_config.py::test_pop [gw0] [ 95%] PASSED dask/tests/test_config.py::test_pop dask/tests/test_config.py::test_refresh [gw0] [ 96%] PASSED dask/tests/test_config.py::test_refresh dask/tests/test_config.py::test_expand_environment_variables[1-1_0] [gw0] [ 96%] PASSED dask/tests/test_config.py::test_expand_environment_variables[1-1_0] dask/tests/test_config.py::test_expand_environment_variables[1-1_1] [gw0] [ 96%] PASSED dask/tests/test_config.py::test_expand_environment_variables[1-1_1] dask/tests/test_delayed.py::test_pure_global_setting [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_pure_global_setting dask/tests/test_delayed.py::test_nout [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout dask/tests/test_delayed.py::test_nout_with_tasks[x0] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout_with_tasks[x0] dask/tests/test_delayed.py::test_nout_with_tasks[x1] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout_with_tasks[x1] dask/tests/test_delayed.py::test_nout_with_tasks[x2] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout_with_tasks[x2] dask/tests/test_delayed.py::test_nout_with_tasks[x3] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout_with_tasks[x3] dask/tests/test_delayed.py::test_nout_with_tasks[x4] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_nout_with_tasks[x4] dask/tests/test_delayed.py::test_kwargs [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_kwargs dask/tests/test_delayed.py::test_custom_delayed [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_custom_delayed dask/tests/test_delayed.py::test_array_delayed [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_array_delayed dask/tests/test_delayed.py::test_array_delayed_complex_optimization [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_array_delayed_complex_optimization dask/tests/test_delayed.py::test_array_delayed_complex_optimization_kwargs [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_array_delayed_complex_optimization_kwargs dask/tests/test_delayed.py::test_array_bag_delayed [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_array_bag_delayed dask/tests/test_delayed.py::test_delayed_picklable [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_picklable dask/tests/test_delayed.py::test_delayed_compute_forward_kwargs [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_compute_forward_kwargs dask/tests/test_delayed.py::test_delayed_method_descriptor [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_method_descriptor dask/tests/test_delayed.py::test_delayed_callable [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_callable dask/tests/test_delayed.py::test_delayed_name_on_call [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_name_on_call dask/tests/test_delayed.py::test_callable_obj [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_callable_obj dask/tests/test_delayed.py::test_deterministic_name [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_deterministic_name dask/tests/test_delayed.py::test_sensitive_to_partials [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_sensitive_to_partials dask/tests/test_delayed.py::test_delayed_name [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_name dask/tests/test_delayed.py::test_finalize_name [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_finalize_name dask/tests/test_delayed.py::test_keys_from_array [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_keys_from_array dask/tests/test_delayed.py::test_delayed_decorator_on_method [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_decorator_on_method dask/tests/test_delayed.py::test_attribute_of_attribute [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_attribute_of_attribute dask/tests/test_delayed.py::test_check_meta_flag [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_check_meta_flag dask/tests/test_delayed.py::test_pickle[modlevel_eager] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_pickle[modlevel_eager] dask/tests/test_delayed.py::test_pickle[modlevel_delayed1] [gw0] [ 96%] XFAIL dask/tests/test_delayed.py::test_pickle[modlevel_delayed1] dask/tests/test_delayed.py::test_pickle[modlevel_delayed2] [gw0] [ 96%] XFAIL dask/tests/test_delayed.py::test_pickle[modlevel_delayed2] dask/tests/test_delayed.py::test_cloudpickle[modlevel_eager] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_cloudpickle[modlevel_eager] dask/tests/test_delayed.py::test_cloudpickle[modlevel_delayed1] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_cloudpickle[modlevel_delayed1] dask/tests/test_delayed.py::test_cloudpickle[modlevel_delayed2] [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_cloudpickle[modlevel_delayed2] dask/tests/test_delayed.py::test_dask_layers [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_dask_layers dask/tests/test_delayed.py::test_annotations_survive_optimization [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_annotations_survive_optimization dask/tests/test_delayed.py::test_delayed_function_attributes_forwarded [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_function_attributes_forwarded dask/tests/test_delayed.py::test_delayed_fusion [gw0] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_fusion dask/tests/test_delayed.py::test_p2p_as_delayed [gw0] [ 96%] SKIPPED dask/tests/test_delayed.py::test_p2p_as_delayed dask/tests/test_expr.py::test_setattr [gw0] [ 96%] PASSED dask/tests/test_expr.py::test_setattr dask/tests/test_expr.py::test_setattr2 [gw0] [ 96%] PASSED dask/tests/test_expr.py::test_setattr2 dask/tests/test_expr.py::test_pickle_cached_properties [gw0] [ 96%] SKIPPED dask/tests/test_expr.py::test_pickle_cached_properties dask/tests/test_expr.py::test_singleton_expr [gw0] [ 96%] PASSED dask/tests/test_expr.py::test_singleton_expr dask/tests/test_expr.py::test_refcounting_futures [gw0] [ 96%] SKIPPED dask/tests/test_expr.py::test_refcounting_futures dask/tests/test_expr.py::test_prohibit_reuse [gw1] [ 96%] PASSED dask/tests/test_core.py::TestGet::test_get_stack_limit [gw0] [ 96%] PASSED dask/tests/test_expr.py::test_prohibit_reuse dask/tests/test_core.py::TestGet::test_with_HighLevelGraph dask/tests/test_graph_manipulation.py::test_checkpoint[False] [gw1] [ 96%] PASSED dask/tests/test_core.py::TestGet::test_with_HighLevelGraph dask/tests/test_core.py::test_GetFunctionTestMixin_class [gw1] [ 96%] PASSED dask/tests/test_core.py::test_GetFunctionTestMixin_class dask/tests/test_core.py::test_get_dependencies_nested [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_nested dask/tests/test_core.py::test_get_dependencies_empty [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_empty dask/tests/test_core.py::test_get_dependencies_list [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_list dask/tests/test_core.py::test_get_dependencies_task [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_task dask/tests/test_core.py::test_get_dependencies_nothing [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_nothing dask/tests/test_core.py::test_get_dependencies_many [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_many dask/tests/test_core.py::test_get_dependencies_task_none [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_dependencies_task_none dask/tests/test_core.py::test_get_deps [gw1] [ 96%] PASSED dask/tests/test_core.py::test_get_deps dask/tests/test_core.py::test_flatten [gw1] [ 96%] PASSED dask/tests/test_core.py::test_flatten dask/tests/test_core.py::test_subs [gw1] [ 96%] PASSED dask/tests/test_core.py::test_subs dask/tests/test_core.py::test_subs_no_key_data_eq [gw1] [ 96%] PASSED dask/tests/test_core.py::test_subs_no_key_data_eq dask/tests/test_core.py::test_subs_with_unfriendly_eq [gw1] [ 96%] PASSED dask/tests/test_core.py::test_subs_with_unfriendly_eq dask/tests/test_core.py::test_subs_with_surprisingly_friendly_eq [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_checkpoint[False] dask/tests/test_graph_manipulation.py::test_checkpoint[True] [gw1] [ 96%] PASSED dask/tests/test_core.py::test_subs_with_surprisingly_friendly_eq dask/tests/test_core.py::test_subs_arbitrary_key [gw1] [ 96%] PASSED dask/tests/test_core.py::test_subs_arbitrary_key dask/tests/test_core.py::test_quote [gw1] [ 96%] PASSED dask/tests/test_core.py::test_quote dask/tests/test_core.py::test_literal_serializable [gw1] [ 96%] PASSED dask/tests/test_core.py::test_literal_serializable dask/tests/test_core.py::test_getcycle [gw1] [ 96%] PASSED dask/tests/test_core.py::test_getcycle dask/tests/test_datasets.py::test_mimesis [gw1] [ 96%] SKIPPED dask/tests/test_datasets.py::test_mimesis dask/tests/test_datasets.py::test_full_dataset [gw1] [ 96%] SKIPPED dask/tests/test_datasets.py::test_full_dataset dask/tests/test_datasets.py::test_make_dataset_with_processes [gw1] [ 96%] SKIPPED dask/tests/test_datasets.py::test_make_dataset_with_processes dask/tests/test_datasets.py::test_no_mimesis [gw1] [ 96%] PASSED dask/tests/test_datasets.py::test_no_mimesis dask/tests/test_datasets.py::test_deterministic [gw1] [ 96%] SKIPPED dask/tests/test_datasets.py::test_deterministic dask/tests/test_delayed.py::test_to_task_dask [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_to_task_dask dask/tests/test_delayed.py::test_delayed [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed dask/tests/test_delayed.py::test_delayed_with_namedtuple [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_checkpoint[True] dask/tests/test_graph_manipulation.py::test_checkpoint_collections [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_namedtuple dask/tests/test_delayed.py::test_delayed_with_dataclass[ANonFrozenDataClass] [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass[ANonFrozenDataClass] dask/tests/test_delayed.py::test_delayed_with_dataclass[AFrozenDataClass] [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass[AFrozenDataClass] dask/tests/test_delayed.py::test_delayed_with_dataclass_with_custom_init [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass_with_custom_init dask/tests/test_delayed.py::test_delayed_with_dataclass_with_eager_custom_init [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass_with_eager_custom_init dask/tests/test_delayed.py::test_delayed_with_eager_dataclass_with_set_init_false_field [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_eager_dataclass_with_set_init_false_field dask/tests/test_delayed.py::test_delayed_with_dataclass_with_set_init_false_field [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass_with_set_init_false_field dask/tests/test_delayed.py::test_delayed_with_dataclass_with_unset_init_false_field [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_with_dataclass_with_unset_init_false_field dask/tests/test_delayed.py::test_operators [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_operators dask/tests/test_delayed.py::test_methods [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_methods dask/tests/test_delayed.py::test_attributes [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_attributes dask/tests/test_delayed.py::test_method_getattr_call_same_task [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_method_getattr_call_same_task dask/tests/test_delayed.py::test_np_dtype_of_delayed [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_np_dtype_of_delayed dask/tests/test_delayed.py::test_delayed_visualise_warn [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_visualise_warn dask/tests/test_delayed.py::test_delayed_errors [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_delayed_errors dask/tests/test_delayed.py::test_common_subexpressions [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_common_subexpressions dask/tests/test_delayed.py::test_lists [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_lists dask/tests/test_delayed.py::test_literates [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_literates dask/tests/test_delayed.py::test_literates_keys [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_literates_keys dask/tests/test_delayed.py::test_lists_are_concrete [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_lists_are_concrete dask/tests/test_delayed.py::test_iterators[list] [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_iterators[list] dask/tests/test_delayed.py::test_iterators[tuple] [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_iterators[tuple] dask/tests/test_delayed.py::test_iterators[set] [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_iterators[set] dask/tests/test_delayed.py::test_traverse_false [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_traverse_false dask/tests/test_delayed.py::test_pure [gw1] [ 96%] PASSED dask/tests/test_delayed.py::test_pure dask/tests/test_hashing.py::test_hash_buffer_hex[x6] [gw1] [ 96%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x6] dask/tests/test_hashing.py::test_hashers[_hash_sha1] [gw1] [ 96%] PASSED dask/tests/test_hashing.py::test_hashers[_hash_sha1] dask/tests/test_highgraph.py::test_visualize [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_visualize dask/tests/test_highgraph.py::test_basic [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_basic dask/tests/test_highgraph.py::test_keys_values_items_to_dict_methods [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_keys_values_items_to_dict_methods dask/tests/test_highgraph.py::test_getitem [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_getitem dask/tests/test_highgraph.py::test_copy [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_copy dask/tests/test_highgraph.py::test_cull [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_cull dask/tests/test_highgraph.py::test_cull_layers [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_cull_layers dask/tests/test_highgraph.py::test_repr_html_hlg_layers [gw1] [ 96%] SKIPPED dask/tests/test_highgraph.py::test_repr_html_hlg_layers dask/tests/test_highgraph.py::test_single_annotation[annotation0] [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_single_annotation[annotation0] dask/tests/test_highgraph.py::test_single_annotation[annotation1] [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_single_annotation[annotation1] dask/tests/test_highgraph.py::test_multiple_annotations [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_multiple_annotations dask/tests/test_highgraph.py::test_annotation_cleared_on_error [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_annotation_cleared_on_error dask/tests/test_highgraph.py::test_materializedlayer_cull_preserves_annotations [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_materializedlayer_cull_preserves_annotations dask/tests/test_highgraph.py::test_annotations_leak [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_annotations_leak dask/tests/test_highgraph.py::test_blockwise_cull[True] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_checkpoint_collections dask/tests/test_graph_manipulation.py::test_wait_on_one[False] [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_blockwise_cull[True] dask/tests/test_highgraph.py::test_blockwise_cull[False] [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_blockwise_cull[False] dask/tests/test_highgraph.py::test_len_does_not_materialize [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_len_does_not_materialize dask/tests/test_highgraph.py::test_node_tooltips_exist [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_node_tooltips_exist dask/tests/test_highgraph.py::test_tokenize_hlg [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_tokenize_hlg [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_wait_on_one[False] dask/tests/test_highgraph.py::test_culling_changes_layer_names [gw1] [ 96%] PASSED dask/tests/test_highgraph.py::test_culling_changes_layer_names dask/tests/test_graph_manipulation.py::test_wait_on_one[True] dask/tests/test_hlgexpr.py::test_tokenize [gw1] [ 96%] PASSED dask/tests/test_hlgexpr.py::test_tokenize dask/tests/test_hlgexpr.py::test_hlg_expr_sequence_finalize [gw1] [ 96%] PASSED dask/tests/test_hlgexpr.py::test_hlg_expr_sequence_finalize dask/tests/test_hlgexpr.py::test_hlg_expr_sequence_nested_keys [gw1] [ 96%] PASSED dask/tests/test_hlgexpr.py::test_hlg_expr_sequence_nested_keys dask/tests/test_hlgexpr.py::test_hlg_sequence_uses_annotations_of_optimized_dsk [gw1] [ 96%] PASSED dask/tests/test_hlgexpr.py::test_hlg_sequence_uses_annotations_of_optimized_dsk dask/tests/test_hlgexpr.py::test_hlg_blockwise_fusion [gw1] [ 96%] PASSED dask/tests/test_hlgexpr.py::test_hlg_blockwise_fusion dask/tests/test_imports.py::test_defaults[dask] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask] dask/tests/test_imports.py::test_defaults[dask.bag] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.bag] dask/tests/test_imports.py::test_defaults[dask.base] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.base] dask/tests/test_imports.py::test_defaults[dask.delayed] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.delayed] dask/tests/test_imports.py::test_defaults[dask.graph_manipulation] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.graph_manipulation] dask/tests/test_imports.py::test_defaults[dask.layers] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_wait_on_one[True] dask/tests/test_graph_manipulation.py::test_wait_on_many[False] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.layers] dask/tests/test_imports.py::test_defaults[dask.multiprocessing] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.multiprocessing] dask/tests/test_imports.py::test_defaults[dask.optimization] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.optimization] dask/tests/test_imports.py::test_defaults[dask.threaded] [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_defaults[dask.threaded] dask/tests/test_imports.py::test_array [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_array dask/tests/test_imports.py::test_pandas_pyarrow [gw1] [ 96%] PASSED dask/tests/test_imports.py::test_pandas_pyarrow dask/tests/test_imports.py::test_bokeh [gw1] [ 96%] SKIPPED dask/tests/test_imports.py::test_bokeh dask/tests/test_imports.py::test_distributed [gw1] [ 96%] SKIPPED dask/tests/test_imports.py::test_distributed dask/tests/test_local.py::test_start_state [gw1] [ 96%] PASSED dask/tests/test_local.py::test_start_state dask/tests/test_local.py::test_start_state_looks_at_cache [gw1] [ 96%] PASSED dask/tests/test_local.py::test_start_state_looks_at_cache dask/tests/test_local.py::test_start_state_with_redirects [gw1] [ 96%] PASSED dask/tests/test_local.py::test_start_state_with_redirects dask/tests/test_local.py::test_start_state_with_independent_but_runnable_tasks [gw1] [ 96%] PASSED dask/tests/test_local.py::test_start_state_with_independent_but_runnable_tasks dask/tests/test_local.py::test_start_state_with_tasks_no_deps [gw1] [ 96%] PASSED dask/tests/test_local.py::test_start_state_with_tasks_no_deps dask/tests/test_local.py::test_finish_task [gw1] [ 96%] PASSED dask/tests/test_local.py::test_finish_task dask/tests/test_local.py::TestGetAsync::test_get [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get dask/tests/test_local.py::TestGetAsync::test_badkey [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_badkey dask/tests/test_local.py::TestGetAsync::test_nested_badkey [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_nested_badkey dask/tests/test_local.py::TestGetAsync::test_data_not_in_dict_is_ok [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_data_not_in_dict_is_ok dask/tests/test_local.py::TestGetAsync::test_get_with_list [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_with_list dask/tests/test_local.py::TestGetAsync::test_get_with_list_top_level [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_with_list_top_level dask/tests/test_local.py::TestGetAsync::test_get_with_nested_list [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_with_nested_list dask/tests/test_local.py::TestGetAsync::test_get_works_with_unhashables_in_values [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_works_with_unhashables_in_values dask/tests/test_local.py::TestGetAsync::test_nested_tasks [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_nested_tasks dask/tests/test_local.py::TestGetAsync::test_get_stack_limit [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_wait_on_many[False] dask/tests/test_graph_manipulation.py::test_wait_on_many[True] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_wait_on_many[True] dask/tests/test_graph_manipulation.py::test_clone[False] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_clone[False] dask/tests/test_graph_manipulation.py::test_clone[True] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_clone[True] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[1] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[1] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal1] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal1] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal2] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal2] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal3] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal3] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal4] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_literals[literal4] dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_no_indices [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_blockwise_clone_with_no_indices dask/tests/test_graph_manipulation.py::test_bind[False] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_bind[False] dask/tests/test_graph_manipulation.py::test_bind[True] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_bind[True] dask/tests/test_graph_manipulation.py::test_split_every[2-299] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[2-299] dask/tests/test_graph_manipulation.py::test_split_every[3-250] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[3-250] dask/tests/test_graph_manipulation.py::test_split_every[8-215] [gw0] [ 96%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[8-215] dask/tests/test_graph_manipulation.py::test_split_every[None-215] [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_stack_limit dask/tests/test_local.py::TestGetAsync::test_with_HighLevelGraph [gw1] [ 96%] PASSED dask/tests/test_local.py::TestGetAsync::test_with_HighLevelGraph [gw0] [ 97%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[None-215] dask/tests/test_graph_manipulation.py::test_split_every[8.1-215] dask/tests/test_local.py::TestGetAsync::test_get_sync_num_workers [gw1] [ 97%] PASSED dask/tests/test_local.py::TestGetAsync::test_get_sync_num_workers dask/tests/test_local.py::test_cache_options [gw1] [ 97%] PASSED dask/tests/test_local.py::test_cache_options dask/tests/test_local.py::test_sort_key [gw1] [ 97%] PASSED dask/tests/test_local.py::test_sort_key dask/tests/test_local.py::test_callback [gw1] [ 97%] PASSED dask/tests/test_local.py::test_callback dask/tests/test_local.py::test_exceptions_propagate [gw1] [ 97%] PASSED dask/tests/test_local.py::test_exceptions_propagate dask/tests/test_local.py::test_ordering [gw1] [ 97%] PASSED dask/tests/test_local.py::test_ordering dask/tests/test_local.py::test_complex_ordering [gw1] [ 97%] PASSED dask/tests/test_local.py::test_complex_ordering dask/tests/test_local.py::test_ensure_calculate_only_whats_needed [gw1] [ 97%] PASSED dask/tests/test_local.py::test_ensure_calculate_only_whats_needed dask/tests/test_ml.py::test_basic [gw1] [ 97%] PASSED dask/tests/test_ml.py::test_basic dask/tests/test_multiprocessing.py::test_pickle_globals [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_pickle_globals dask/tests/test_multiprocessing.py::test_pickle_locals [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_pickle_locals dask/tests/test_multiprocessing.py::test_out_of_band_pickling [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_out_of_band_pickling dask/tests/test_multiprocessing.py::test_errors_propagate [gw0] [ 97%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[8.1-215] dask/tests/test_graph_manipulation.py::test_split_every[1000000000.0-201] [gw0] [ 97%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[1000000000.0-201] dask/tests/test_graph_manipulation.py::test_split_every[False-201] [gw0] [ 97%] PASSED dask/tests/test_graph_manipulation.py::test_split_every[False-201] dask/tests/test_graph_manipulation.py::test_split_every_invalid [gw0] [ 97%] PASSED dask/tests/test_graph_manipulation.py::test_split_every_invalid dask/tests/test_hashing.py::test_hash_buffer[abc] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[abc] dask/tests/test_hashing.py::test_hash_buffer[x1] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x1] dask/tests/test_hashing.py::test_hash_buffer[x2] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x2] dask/tests/test_hashing.py::test_hash_buffer[x3] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x3] dask/tests/test_hashing.py::test_hash_buffer[x4] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x4] dask/tests/test_hashing.py::test_hash_buffer[x5] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x5] dask/tests/test_hashing.py::test_hash_buffer[x6] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer[x6] dask/tests/test_hashing.py::test_hash_buffer_hex[abc] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[abc] dask/tests/test_hashing.py::test_hash_buffer_hex[x1] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x1] dask/tests/test_hashing.py::test_hash_buffer_hex[x2] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x2] dask/tests/test_hashing.py::test_hash_buffer_hex[x3] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x3] dask/tests/test_hashing.py::test_hash_buffer_hex[x4] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x4] dask/tests/test_hashing.py::test_hash_buffer_hex[x5] [gw0] [ 97%] PASSED dask/tests/test_hashing.py::test_hash_buffer_hex[x5] dask/tests/test_multiprocessing.py::test_lambda_results_with_cloudpickle [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_errors_propagate dask/tests/test_multiprocessing.py::test_remote_exception [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_remote_exception dask/tests/test_multiprocessing.py::test_lambda_with_cloudpickle [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_lambda_results_with_cloudpickle dask/tests/test_multiprocessing.py::test_unpicklable_args_generate_errors [gw1] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_lambda_with_cloudpickle dask/tests/test_order.py::test_gh_3055 [gw1] [ 97%] PASSED dask/tests/test_order.py::test_gh_3055 dask/tests/test_order.py::test_type_comparisions_ok[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_type_comparisions_ok[abcde] dask/tests/test_order.py::test_type_comparisions_ok[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_type_comparisions_ok[edcba] dask/tests/test_order.py::test_favor_longest_critical_path[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_favor_longest_critical_path[abcde] dask/tests/test_order.py::test_favor_longest_critical_path[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_favor_longest_critical_path[edcba] dask/tests/test_order.py::test_run_smaller_sections[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_run_smaller_sections[abcde] dask/tests/test_order.py::test_run_smaller_sections[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_run_smaller_sections[edcba] dask/tests/test_order.py::test_local_parents_of_reduction[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_local_parents_of_reduction[abcde] dask/tests/test_order.py::test_local_parents_of_reduction[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_local_parents_of_reduction[edcba] dask/tests/test_order.py::test_nearest_neighbor[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_nearest_neighbor[abcde] dask/tests/test_order.py::test_nearest_neighbor[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_nearest_neighbor[edcba] dask/tests/test_order.py::test_string_ordering [gw1] [ 97%] PASSED dask/tests/test_order.py::test_string_ordering dask/tests/test_order.py::test_string_ordering_dependents [gw1] [ 97%] XPASS dask/tests/test_order.py::test_string_ordering_dependents dask/tests/test_order.py::test_prefer_short_narrow[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_prefer_short_narrow[abcde] dask/tests/test_order.py::test_prefer_short_narrow[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_prefer_short_narrow[edcba] dask/tests/test_order.py::test_prefer_short_ancestor[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_prefer_short_ancestor[abcde] dask/tests/test_order.py::test_prefer_short_ancestor[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_prefer_short_ancestor[edcba] dask/tests/test_order.py::test_map_overlap[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_map_overlap[abcde] dask/tests/test_order.py::test_map_overlap[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_map_overlap[edcba] dask/tests/test_order.py::test_use_structure_not_keys[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_use_structure_not_keys[abcde] dask/tests/test_order.py::test_use_structure_not_keys[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_use_structure_not_keys[edcba] dask/tests/test_order.py::test_dont_run_all_dependents_too_early[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_dont_run_all_dependents_too_early[abcde] dask/tests/test_order.py::test_dont_run_all_dependents_too_early[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_dont_run_all_dependents_too_early[edcba] dask/tests/test_order.py::test_many_branches_use_ndependencies[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_many_branches_use_ndependencies[abcde] dask/tests/test_order.py::test_many_branches_use_ndependencies[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_many_branches_use_ndependencies[edcba] dask/tests/test_order.py::test_order_cycle [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_cycle dask/tests/test_order.py::test_order_empty [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_empty dask/tests/test_order.py::test_order_with_equal_dependents[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_with_equal_dependents[abcde] dask/tests/test_order.py::test_order_with_equal_dependents[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_with_equal_dependents[edcba] dask/tests/test_order.py::test_terminal_node_backtrack [gw1] [ 97%] PASSED dask/tests/test_order.py::test_terminal_node_backtrack dask/tests/test_order.py::test_array_store_final_order [gw1] [ 97%] PASSED dask/tests/test_order.py::test_array_store_final_order dask/tests/test_order.py::test_eager_to_compute_dependent_to_free_parent [gw1] [ 97%] PASSED dask/tests/test_order.py::test_eager_to_compute_dependent_to_free_parent dask/tests/test_order.py::test_diagnostics[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_diagnostics[abcde] dask/tests/test_order.py::test_diagnostics[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_diagnostics[edcba] dask/tests/test_order.py::test_xarray_like_reduction [gw1] [ 97%] PASSED dask/tests/test_order.py::test_xarray_like_reduction dask/tests/test_order.py::test_array_vs_dataframe[True] [gw1] [ 97%] SKIPPED dask/tests/test_order.py::test_array_vs_dataframe[True] dask/tests/test_order.py::test_array_vs_dataframe[False] [gw1] [ 97%] SKIPPED dask/tests/test_order.py::test_array_vs_dataframe[False] dask/tests/test_order.py::test_anom_mean [gw1] [ 97%] SKIPPED dask/tests/test_order.py::test_anom_mean dask/tests/test_order.py::test_anom_mean_raw[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_anom_mean_raw[abcde] dask/tests/test_order.py::test_anom_mean_raw[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_anom_mean_raw[edcba] dask/tests/test_order.py::test_flaky_array_reduction [gw1] [ 97%] PASSED dask/tests/test_order.py::test_flaky_array_reduction dask/tests/test_order.py::test_flox_reduction[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_flox_reduction[abcde] dask/tests/test_order.py::test_flox_reduction[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_flox_reduction[edcba] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-True-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-True-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-True-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-True-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-False-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-False-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-False-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-2-False-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-True-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-True-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-True-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-True-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-False-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-False-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-False-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[4-5-False-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-True-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-True-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-True-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-True-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-False-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-False-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-False-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-2-False-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-True-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-True-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-True-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-True-False] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-False-True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-False-True] dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-False-False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_reduce_with_many_common_dependents[7-5-False-False] dask/tests/test_order.py::test_doublediff[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_doublediff[abcde] dask/tests/test_order.py::test_doublediff[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_doublediff[edcba] dask/tests/test_order.py::test_recursion_depth_long_linear_chains [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_unpicklable_args_generate_errors dask/tests/test_multiprocessing.py::test_reuse_pool[Pool] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_recursion_depth_long_linear_chains dask/tests/test_order.py::test_gh_3055_explicit[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_gh_3055_explicit[abcde] dask/tests/test_order.py::test_gh_3055_explicit[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_gh_3055_explicit[edcba] dask/tests/test_order.py::test_order_flox_reduction_2[abcde] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_flox_reduction_2[abcde] dask/tests/test_order.py::test_order_flox_reduction_2[edcba] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_order_flox_reduction_2[edcba] dask/tests/test_order.py::test_xarray_map_reduce_with_slicing [gw1] [ 97%] PASSED dask/tests/test_order.py::test_xarray_map_reduce_with_slicing dask/tests/test_order.py::test_xarray_rechunk_map_reduce_cohorts[True] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_xarray_rechunk_map_reduce_cohorts[True] dask/tests/test_order.py::test_xarray_rechunk_map_reduce_cohorts[False] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_xarray_rechunk_map_reduce_cohorts[False] dask/tests/test_order.py::test_xarray_8414 [gw1] [ 97%] SKIPPED dask/tests/test_order.py::test_xarray_8414 dask/tests/test_order.py::test_connecting_to_roots_single_root [gw1] [ 97%] PASSED dask/tests/test_order.py::test_connecting_to_roots_single_root dask/tests/test_order.py::test_connecting_to_roots_tree_reduction [gw1] [ 97%] PASSED dask/tests/test_order.py::test_connecting_to_roots_tree_reduction dask/tests/test_order.py::test_connecting_to_roots_long_linear_chains [gw1] [ 97%] PASSED dask/tests/test_order.py::test_connecting_to_roots_long_linear_chains dask/tests/test_order.py::test_connected_roots_deduplication_mem_usage [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_reuse_pool[Pool] dask/tests/test_multiprocessing.py::test_reuse_pool[ProcessPoolExecutor] [gw1] [ 97%] PASSED dask/tests/test_order.py::test_connected_roots_deduplication_mem_usage dask/tests/test_order.py::test_connecting_to_roots_asym [gw1] [ 97%] PASSED dask/tests/test_order.py::test_connecting_to_roots_asym dask/tests/test_order.py::test_do_not_mutate_input [gw1] [ 97%] PASSED dask/tests/test_order.py::test_do_not_mutate_input dask/tests/test_order.py::test_stackstac [gw1] [ 97%] PASSED dask/tests/test_order.py::test_stackstac dask/tests/test_order.py::test_handle_out_of_graph_dependencies [gw1] [ 97%] PASSED dask/tests/test_order.py::test_handle_out_of_graph_dependencies dask/tests/test_rewrite.py::test_head [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_head dask/tests/test_rewrite.py::test_args [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_args dask/tests/test_rewrite.py::test_traverser [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_traverser dask/tests/test_rewrite.py::test_RewriteRule [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_RewriteRule dask/tests/test_rewrite.py::test_RewriteRuleSubs [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_RewriteRuleSubs dask/tests/test_rewrite.py::test_RuleSet [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_RuleSet dask/tests/test_rewrite.py::test_matches [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_matches dask/tests/test_rewrite.py::test_rewrite [gw1] [ 97%] PASSED dask/tests/test_rewrite.py::test_rewrite dask/tests/test_sizeof.py::test_base [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_base dask/tests/test_sizeof.py::test_name [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_name dask/tests/test_sizeof.py::test_containers [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_containers dask/tests/test_sizeof.py::test_bytes_like [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_bytes_like dask/tests/test_sizeof.py::test_numpy [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_numpy dask/tests/test_sizeof.py::test_numpy_0_strided [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_numpy_0_strided dask/tests/test_sizeof.py::test_pandas [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas dask/tests/test_sizeof.py::test_pandas_contiguous_dtypes [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_contiguous_dtypes dask/tests/test_sizeof.py::test_pandas_multiindex [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_multiindex dask/tests/test_sizeof.py::test_pandas_repeated_column [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_repeated_column dask/tests/test_sizeof.py::test_sparse_matrix [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_sparse_matrix dask/tests/test_sizeof.py::test_pandas_object_dtype[object-Series] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[object-Series] dask/tests/test_sizeof.py::test_pandas_object_dtype[object-DataFrame] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[object-DataFrame] dask/tests/test_sizeof.py::test_pandas_object_dtype[object-Index] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[object-Index] dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-Series] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-Series] dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-DataFrame] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-DataFrame] dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-Index] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_object_dtype[string[python]-Index] dask/tests/test_sizeof.py::test_dataframe_object_dtype[object] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_dataframe_object_dtype[object] dask/tests/test_sizeof.py::test_dataframe_object_dtype[string[python]] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_dataframe_object_dtype[string[python]] dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[Series] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[Series] dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[DataFrame] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[DataFrame] dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[Index] [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_string_arrow_dtype[Index] dask/tests/test_sizeof.py::test_pandas_empty [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pandas_empty dask/tests/test_sizeof.py::test_pyarrow_table [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_pyarrow_table dask/tests/test_sizeof.py::test_dict [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_dict dask/tests/test_sizeof.py::test_register_backend_entrypoint [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_reuse_pool[ProcessPoolExecutor] dask/tests/test_multiprocessing.py::test_dumps_loads [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_dumps_loads dask/tests/test_multiprocessing.py::test_fuse_doesnt_clobber_intermediates [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_fuse_doesnt_clobber_intermediates dask/tests/test_multiprocessing.py::test_optimize_graph_false [gw0] [ 97%] PASSED dask/tests/test_multiprocessing.py::test_optimize_graph_false dask/tests/test_multiprocessing.py::test_works_with_highlevel_graph [gw1] [ 97%] PASSED dask/tests/test_sizeof.py::test_register_backend_entrypoint dask/tests/test_sizeof.py::test_xarray [gw1] [ 97%] SKIPPED dask/tests/test_sizeof.py::test_xarray dask/tests/test_sizeof.py::test_xarray_not_in_memory [gw1] [ 97%] SKIPPED dask/tests/test_sizeof.py::test_xarray_not_in_memory dask/tests/test_system.py::test_cpu_count [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count dask/tests/test_system.py::test_cpu_count_cgroups[cpuacct,cpu] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups[cpuacct,cpu] dask/tests/test_system.py::test_cpu_count_cgroups[cpu,cpuacct] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups[cpu,cpuacct] dask/tests/test_system.py::test_cpu_count_cgroups[None] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups[None] dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/] dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/user.slice] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/user.slice] dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/user.slice/more.slice] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[max-/user.slice/more.slice] dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/] dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/user.slice] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/user.slice] dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/user.slice/more.slice] [gw1] [ 97%] PASSED dask/tests/test_system.py::test_cpu_count_cgroups_v2[2005-/user.slice/more.slice] dask/tests/test_task_spec.py::test_convert_legacy_dsk_skip_new [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_convert_legacy_dsk_skip_new dask/tests/test_task_spec.py::test_repr [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_repr dask/tests/test_task_spec.py::test_task_eq [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_task_eq dask/tests/test_task_spec.py::test_convert_legacy_dsk [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_convert_legacy_dsk dask/tests/test_task_spec.py::test_task_executable [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_task_executable dask/tests/test_task_spec.py::test_task_nested_sequence [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_task_nested_sequence dask/tests/test_task_spec.py::test_reference_remote [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_reference_remote dask/tests/test_task_spec.py::test_reference_remote_twice_same [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_reference_remote_twice_same dask/tests/test_task_spec.py::test_reference_remote_twice_different [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_reference_remote_twice_different dask/tests/test_task_spec.py::test_task_nested [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_task_nested dask/tests/test_task_spec.py::test_pickle [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_pickle dask/tests/test_task_spec.py::test_pickle_size [gw1] [ 97%] PASSED dask/tests/test_task_spec.py::test_pickle_size dask/tests/test_task_spec.py::test_tokenize [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_tokenize dask/tests/test_task_spec.py::test_async_func [gw1] [ 98%] SKIPPED dask/tests/test_task_spec.py::test_async_func dask/tests/test_task_spec.py::test_parse_curry [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_curry dask/tests/test_task_spec.py::test_curry [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_curry dask/tests/test_task_spec.py::test_avoid_cycles [gw1] [ 98%] SKIPPED dask/tests/test_task_spec.py::test_avoid_cycles dask/tests/test_task_spec.py::test_runnable_as_kwarg [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_runnable_as_kwarg dask/tests/test_task_spec.py::test_dependency_as_kwarg [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_dependency_as_kwarg dask/tests/test_task_spec.py::test_array_as_argument [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_array_as_argument dask/tests/test_task_spec.py::test_ensure_slots[inst0] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_ensure_slots[inst0] dask/tests/test_task_spec.py::test_ensure_slots[inst1] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_ensure_slots[inst1] dask/tests/test_task_spec.py::test_ensure_slots[inst2] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_ensure_slots[inst2] dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[PlainNamedTuple-args0-kwargs0] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[PlainNamedTuple-args0-kwargs0] dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[NewArgsNamedTuple-args1-kwargs1] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[NewArgsNamedTuple-args1-kwargs1] dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[NewArgsExNamedTuple-args2-kwargs2] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_graph_namedtuple_legacy[NewArgsExNamedTuple-args2-kwargs2] dask/tests/test_task_spec.py::test_parse_namedtuple[PlainNamedTuple-args0-kwargs0] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_namedtuple[PlainNamedTuple-args0-kwargs0] dask/tests/test_task_spec.py::test_parse_namedtuple[NewArgsNamedTuple-args1-kwargs1] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_namedtuple[NewArgsNamedTuple-args1-kwargs1] dask/tests/test_task_spec.py::test_parse_namedtuple[NewArgsExNamedTuple-args2-kwargs2] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_namedtuple[NewArgsExNamedTuple-args2-kwargs2] dask/tests/test_task_spec.py::test_pickle_literals [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_pickle_literals dask/tests/test_task_spec.py::test_parse_non_task_inputs[set] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[set] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj1] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj1] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj2] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj2] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj3] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj3] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj4] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj4] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj5] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj5] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj6] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj6] dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj7] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_non_task_inputs[obj7] dask/tests/test_task_spec.py::test_resolve_aliases [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_resolve_aliases dask/tests/test_task_spec.py::test_resolve_multiple_aliases [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_resolve_multiple_aliases dask/tests/test_task_spec.py::test_convert_resolve [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_convert_resolve dask/tests/test_task_spec.py::test_parse_nested [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_parse_nested dask/tests/test_task_spec.py::test_sizeof [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_sizeof dask/tests/test_task_spec.py::test_execute_tasks_in_graph [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_execute_tasks_in_graph dask/tests/test_task_spec.py::test_deterministic_tokenization_respected [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_deterministic_tokenization_respected dask/tests/test_task_spec.py::test_keys_in_tasks [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_keys_in_tasks dask/tests/test_task_spec.py::test_dependencies_mapping_doesnt_mutate_task [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_dependencies_mapping_doesnt_mutate_task dask/tests/test_task_spec.py::test_fuse_tasks_key [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_fuse_tasks_key dask/tests/test_task_spec.py::test_fuse_tasks [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_fuse_tasks dask/tests/test_task_spec.py::test_fuse_reject_multiple_outputs [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_fuse_reject_multiple_outputs dask/tests/test_task_spec.py::test_fused_ensure_only_executed_once [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_fused_ensure_only_executed_once dask/tests/test_task_spec.py::test_fused_dont_hold_in_memory_too_long [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_fused_dont_hold_in_memory_too_long dask/tests/test_task_spec.py::test_linear_fusion [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_linear_fusion dask/tests/test_task_spec.py::test_linear_fusion_intermediate_branch [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_linear_fusion_intermediate_branch dask/tests/test_task_spec.py::test_linear_fusion_two_branches [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_linear_fusion_two_branches dask/tests/test_task_spec.py::test_linear_fusion_multiple_outputs [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_linear_fusion_multiple_outputs dask/tests/test_task_spec.py::test_nested_containers [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers dask/tests/test_task_spec.py::test_block_io_fusion [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_block_io_fusion dask/tests/test_task_spec.py::test_data_producer [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_data_producer dask/tests/test_task_spec.py::test_nested_containers_different_types[Tuple-tuple] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_different_types[Tuple-tuple] dask/tests/test_task_spec.py::test_nested_containers_different_types[List-list] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_different_types[List-list] dask/tests/test_task_spec.py::test_nested_containers_different_types[Set-set] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_different_types[Set-set] dask/tests/test_task_spec.py::test_substitute [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_substitute dask/tests/test_task_spec.py::test_alias_task_ref_key [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_alias_task_ref_key dask/tests/test_task_spec.py::test_substitute_nested [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_substitute_nested dask/tests/test_task_spec.py::test_nested_containers_empty[Dict] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_empty[Dict] dask/tests/test_task_spec.py::test_nested_containers_empty[List] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_empty[List] dask/tests/test_task_spec.py::test_nested_containers_empty[Set] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_empty[Set] dask/tests/test_task_spec.py::test_nested_containers_empty[Tuple] [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_nested_containers_empty[Tuple] dask/tests/test_task_spec.py::test_substitute_subclasses [gw1] [ 98%] PASSED dask/tests/test_task_spec.py::test_substitute_subclasses dask/tests/test_threaded.py::test_get [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_get dask/tests/test_threaded.py::test_nested_get [gw0] [ 98%] PASSED dask/tests/test_multiprocessing.py::test_works_with_highlevel_graph dask/tests/test_multiprocessing.py::test_random_seeds[numpy] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_nested_get dask/tests/test_threaded.py::test_get_without_computation [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_get_without_computation dask/tests/test_threaded.py::test_broken_callback [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_broken_callback dask/tests/test_threaded.py::test_exceptions_rise_to_top [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_exceptions_rise_to_top dask/tests/test_threaded.py::test_reuse_pool[ThreadPool] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_reuse_pool[ThreadPool] dask/tests/test_threaded.py::test_reuse_pool[ThreadPoolExecutor] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_reuse_pool[ThreadPoolExecutor] dask/tests/test_threaded.py::test_pool_kwarg[ThreadPool] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_pool_kwarg[ThreadPool] dask/tests/test_threaded.py::test_pool_kwarg[ThreadPoolExecutor] [gw0] [ 98%] PASSED dask/tests/test_multiprocessing.py::test_random_seeds[numpy] dask/tests/test_multiprocessing.py::test_random_seeds[random] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_pool_kwarg[ThreadPoolExecutor] dask/tests/test_threaded.py::test_threaded_within_thread [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_threaded_within_thread dask/tests/test_threaded.py::test_dont_spawn_too_many_threads [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_dont_spawn_too_many_threads dask/tests/test_threaded.py::test_dont_spawn_too_many_threads_CPU_COUNT [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_dont_spawn_too_many_threads_CPU_COUNT dask/tests/test_threaded.py::test_thread_safety [gw0] [ 98%] PASSED dask/tests/test_multiprocessing.py::test_random_seeds[random] dask/tests/test_multiprocessing.py::test_process_initializer[threading-None-expected_results0] [gw0] [ 98%] PASSED dask/tests/test_multiprocessing.py::test_process_initializer[threading-None-expected_results0] dask/tests/test_multiprocessing.py::test_process_initializer[processes-None-expected_results1] [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_thread_safety dask/tests/test_threaded.py::test_interrupt [gw1] [ 98%] PASSED dask/tests/test_threaded.py::test_interrupt dask/tests/test_tokenize.py::test_check_tokenize [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_check_tokenize dask/tests/test_tokenize.py::test_tokenize [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize dask/tests/test_tokenize.py::test_tokenize_scalar [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_scalar dask/tests/test_tokenize.py::test_tokenize_numpy_array_consistent_on_values [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_array_consistent_on_values dask/tests/test_tokenize.py::test_tokenize_numpy_array_supports_uneven_sizes [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_array_supports_uneven_sizes dask/tests/test_tokenize.py::test_tokenize_discontiguous_numpy_array [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_discontiguous_numpy_array dask/tests/test_tokenize.py::test_tokenize_numpy_datetime [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_datetime dask/tests/test_tokenize.py::test_tokenize_numpy_scalar [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_scalar dask/tests/test_tokenize.py::test_tokenize_numpy_scalar_string_rep [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_scalar_string_rep dask/tests/test_tokenize.py::test_tokenize_numpy_array_on_object_dtype [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_array_on_object_dtype dask/tests/test_tokenize.py::test_empty_numpy_array [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_empty_numpy_array dask/tests/test_tokenize.py::test_tokenize_numpy_memmap_offset [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_memmap_offset dask/tests/test_tokenize.py::test_tokenize_numpy_memmap [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_memmap dask/tests/test_tokenize.py::test_tokenize_numpy_memmap_no_filename [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_memmap_no_filename dask/tests/test_tokenize.py::test_tokenize_numpy_ufunc [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_ufunc dask/tests/test_tokenize.py::test_normalize_numpy_ufunc_unserializable [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_normalize_numpy_ufunc_unserializable dask/tests/test_tokenize.py::test_normalize_object_unserializable [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_normalize_object_unserializable dask/tests/test_tokenize.py::test_tokenize_partial_func_args_kwargs_consistent [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_partial_func_args_kwargs_consistent dask/tests/test_tokenize.py::test_normalize_base [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_normalize_base dask/tests/test_tokenize.py::test_tokenize_object [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_object dask/tests/test_tokenize.py::test_tokenize_local_functions[0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[0] dask/tests/test_tokenize.py::test_tokenize_local_functions[1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[1] dask/tests/test_tokenize.py::test_tokenize_local_functions[2] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[2] dask/tests/test_tokenize.py::test_tokenize_local_functions[3] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[3] dask/tests/test_tokenize.py::test_tokenize_local_functions[func0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func0] dask/tests/test_tokenize.py::test_tokenize_local_functions[f2] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[f2] dask/tests/test_tokenize.py::test_tokenize_local_functions[func1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func1] dask/tests/test_tokenize.py::test_tokenize_local_functions[func2] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func2] dask/tests/test_tokenize.py::test_tokenize_local_functions[func3] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func3] dask/tests/test_tokenize.py::test_tokenize_local_functions[func4] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func4] dask/tests/test_tokenize.py::test_tokenize_local_functions[func5] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func5] dask/tests/test_tokenize.py::test_tokenize_local_functions[func6] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func6] dask/tests/test_tokenize.py::test_tokenize_local_functions[func7] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func7] dask/tests/test_tokenize.py::test_tokenize_local_functions[func8] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions[func8] dask/tests/test_tokenize.py::test_tokenize_special_callables[getattr] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[getattr] dask/tests/test_tokenize.py::test_tokenize_special_callables[join0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[join0] dask/tests/test_tokenize.py::test_tokenize_special_callables[join1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[join1] dask/tests/test_tokenize.py::test_tokenize_special_callables[__str__0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[__str__0] dask/tests/test_tokenize.py::test_tokenize_special_callables[__str__1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[__str__1] dask/tests/test_tokenize.py::test_tokenize_special_callables[f0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[f0] dask/tests/test_tokenize.py::test_tokenize_special_callables[f1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[f1] dask/tests/test_tokenize.py::test_tokenize_special_callables[g] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_special_callables[g] dask/tests/test_tokenize.py::test_tokenize_functions_unique_token [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_functions_unique_token dask/tests/test_tokenize.py::test_tokenize_local_classes_from_different_contexts[False] [gw1] [ 98%] XFAIL dask/tests/test_tokenize.py::test_tokenize_local_classes_from_different_contexts[False] dask/tests/test_tokenize.py::test_tokenize_local_classes_from_different_contexts[True] [gw1] [ 98%] XFAIL dask/tests/test_tokenize.py::test_tokenize_local_classes_from_different_contexts[True] dask/tests/test_tokenize.py::test_tokenize_local_functions_from_different_contexts [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_local_functions_from_different_contexts dask/tests/test_tokenize.py::test_tokenize_callable [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_callable dask/tests/test_tokenize.py::test_tokenize_composite_functions [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_composite_functions dask/tests/test_tokenize.py::test_tokenize_pandas [gw1] [ 98%] FAILED dask/tests/test_tokenize.py::test_tokenize_pandas dask/tests/test_tokenize.py::test_tokenize_pandas_invalid_unicode [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_invalid_unicode dask/tests/test_tokenize.py::test_tokenize_pandas_mixed_unicode_bytes [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_mixed_unicode_bytes dask/tests/test_tokenize.py::test_tokenize_pandas_cloudpickle [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_cloudpickle dask/tests/test_tokenize.py::test_tokenize_pandas_extension_array [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_extension_array dask/tests/test_tokenize.py::test_tokenize_na [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_na dask/tests/test_tokenize.py::test_tokenize_offset [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_offset dask/tests/test_tokenize.py::test_tokenize_pandas_index [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_index dask/tests/test_tokenize.py::test_tokenize_kwargs [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_kwargs dask/tests/test_tokenize.py::test_tokenize_same_repr [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_same_repr dask/tests/test_tokenize.py::test_tokenize_slotted [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_slotted dask/tests/test_tokenize.py::test_tokenize_slotted_no_value [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_slotted_no_value dask/tests/test_tokenize.py::test_tokenize_slots_and_dict [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_slots_and_dict dask/tests/test_tokenize.py::test_tokenize_method [gw0] [ 98%] PASSED dask/tests/test_multiprocessing.py::test_process_initializer[processes-None-expected_results1] dask/tests/test_multiprocessing.py::test_process_initializer[processes-proc_init-expected_results2] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_method dask/tests/test_tokenize.py::test_tokenize_callable_class [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_callable_class dask/tests/test_tokenize.py::test_tokenize_callable_class_with_tokenize_method [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_callable_class_with_tokenize_method dask/tests/test_tokenize.py::test_staticmethods [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_staticmethods dask/tests/test_tokenize.py::test_tokenize_sequences [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_sequences dask/tests/test_tokenize.py::test_nested_tokenize_seen [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_nested_tokenize_seen dask/tests/test_tokenize.py::test_tokenize_dict [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_dict dask/tests/test_tokenize.py::test_tokenize_set [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_set dask/tests/test_tokenize.py::test_tokenize_ordered_dict [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_ordered_dict dask/tests/test_tokenize.py::test_tokenize_dict_doesnt_call_str_on_values [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_dict_doesnt_call_str_on_values dask/tests/test_tokenize.py::test_tokenize_sorts_dict_before_seen_map [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_sorts_dict_before_seen_map dask/tests/test_tokenize.py::test_tokenize_sorts_set_before_seen_map [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_sorts_set_before_seen_map dask/tests/test_tokenize.py::test_tokenize_timedelta [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_timedelta dask/tests/test_tokenize.py::test_tokenize_enum[Enum] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_enum[Enum] dask/tests/test_tokenize.py::test_tokenize_enum[IntEnum] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_enum[IntEnum] dask/tests/test_tokenize.py::test_tokenize_enum[IntFlag] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_enum[IntFlag] dask/tests/test_tokenize.py::test_tokenize_enum[Flag] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_enum[Flag] dask/tests/test_tokenize.py::test_local_objects [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_local_objects dask/tests/test_tokenize.py::test_tokenize_dataclass [gw1] [ 98%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_dataclass dask/tests/test_tokenize.py::test_tokenize_range[other0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_range[other0] dask/tests/test_tokenize.py::test_tokenize_range[other1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_range[other1] dask/tests/test_tokenize.py::test_tokenize_range[other2] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_range[other2] dask/tests/test_tokenize.py::test_tokenize_numpy_array [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_array dask/tests/test_tokenize.py::test_tokenize_object_array_with_nans [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_object_array_with_nans dask/tests/test_tokenize.py::test_tokenize_base_types[1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[1] dask/tests/test_tokenize.py::test_tokenize_base_types[True] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[True] dask/tests/test_tokenize.py::test_tokenize_base_types[a0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[a0] dask/tests/test_tokenize.py::test_tokenize_base_types[a1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[a1] dask/tests/test_tokenize.py::test_tokenize_base_types[1.0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[1.0] dask/tests/test_tokenize.py::test_tokenize_base_types[1j0] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[1j0] dask/tests/test_tokenize.py::test_tokenize_base_types[1j1] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[1j1] dask/tests/test_tokenize.py::test_tokenize_base_types[x7] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[x7] dask/tests/test_tokenize.py::test_tokenize_base_types[x8] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[x8] dask/tests/test_tokenize.py::test_tokenize_base_types[x9] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[x9] dask/tests/test_tokenize.py::test_tokenize_base_types[None] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[None] dask/tests/test_tokenize.py::test_tokenize_base_types[str] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[str] dask/tests/test_tokenize.py::test_tokenize_base_types[int] [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_base_types[int] dask/tests/test_tokenize.py::test_tokenize_literal [gw1] [ 98%] PASSED dask/tests/test_tokenize.py::test_tokenize_literal dask/tests/test_tokenize.py::test_tokenize_numpy_matrix [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_numpy_matrix dask/tests/test_tokenize.py::test_tokenize_dense_sparse_array[dok] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_dense_sparse_array[dok] dask/tests/test_tokenize.py::test_tokenize_circular_recursion [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_circular_recursion dask/tests/test_tokenize.py::test_tokenize_datetime_date[other0] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_datetime_date[other0] dask/tests/test_tokenize.py::test_tokenize_datetime_date[other1] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_datetime_date[other1] dask/tests/test_tokenize.py::test_tokenize_datetime_date[other2] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_datetime_date[other2] dask/tests/test_tokenize.py::test_tokenize_datetime_time [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_datetime_time dask/tests/test_tokenize.py::test_tokenize_datetime_datetime [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_datetime_datetime dask/tests/test_tokenize.py::test_tokenize_functions_main [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_functions_main dask/tests/test_tokenize.py::test_tokenize_dataclass_field_no_repr [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_dataclass_field_no_repr dask/tests/test_tokenize.py::test_tokenize_operator [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_operator dask/tests/test_tokenize.py::test_tokenize_random_state [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_state dask/tests/test_tokenize.py::test_tokenize_random_state_numpy [gw0] [ 99%] PASSED dask/tests/test_multiprocessing.py::test_process_initializer[processes-proc_init-expected_results2] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_state_numpy dask/tests/test_multiprocessing.py::test_custom_context_used_python3_posix dask/tests/test_tokenize.py::test_tokenize_random_functions[random] [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_functions[random] dask/tests/test_tokenize.py::test_tokenize_random_functions[np.random] [gw0] [ 99%] PASSED dask/tests/test_multiprocessing.py::test_custom_context_used_python3_posix dask/tests/test_multiprocessing.py::test_get_context_using_python3_posix [gw0] [ 99%] PASSED dask/tests/test_multiprocessing.py::test_get_context_using_python3_posix dask/tests/test_multiprocessing.py::test_custom_context_ignored_elsewhere [gw0] [ 99%] SKIPPED dask/tests/test_multiprocessing.py::test_custom_context_ignored_elsewhere dask/tests/test_multiprocessing.py::test_get_context_always_default [gw0] [ 99%] SKIPPED dask/tests/test_multiprocessing.py::test_get_context_always_default dask/tests/test_optimization.py::test_cull [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_cull dask/tests/test_optimization.py::test_fuse [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse dask/tests/test_optimization.py::test_fuse_keys [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse_keys dask/tests/test_optimization.py::test_donot_substitute_same_key_multiple_times [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_donot_substitute_same_key_multiple_times dask/tests/test_optimization.py::test_inline [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline dask/tests/test_optimization.py::test_inline_functions [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_functions dask/tests/test_optimization.py::test_inline_ignores_curries_and_partials [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_ignores_curries_and_partials dask/tests/test_optimization.py::test_inline_functions_non_hashable [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_functions_non_hashable dask/tests/test_optimization.py::test_inline_doesnt_shrink_fast_functions_at_top [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_doesnt_shrink_fast_functions_at_top dask/tests/test_optimization.py::test_inline_traverses_lists [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_traverses_lists dask/tests/test_optimization.py::test_inline_functions_protects_output_keys [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_functions_protects_output_keys dask/tests/test_optimization.py::test_functions_of [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_functions_of dask/tests/test_optimization.py::test_inline_cull_dependencies [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_inline_cull_dependencies dask/tests/test_optimization.py::test_fuse_reductions_single_input [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_functions[np.random] dask/tests/test_tokenize.py::test_tokenize_random_functions_with_state [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_functions_with_state dask/tests/test_tokenize.py::test_tokenize_random_functions_with_state_numpy [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse_reductions_single_input dask/tests/test_optimization.py::test_fuse_stressed [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse_stressed dask/tests/test_optimization.py::test_fuse_reductions_multiple_input [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse_reductions_multiple_input dask/tests/test_optimization.py::test_dont_fuse_numpy_arrays [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_dont_fuse_numpy_arrays dask/tests/test_optimization.py::test_fuse_config [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fuse_config dask/tests/test_optimization.py::test_fused_keys_max_length [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fused_keys_max_length dask/tests/test_optimization.py::test_hybrid_legacy_new [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_hybrid_legacy_new dask/tests/test_optimization.py::test_fusion_legacy_hybrid [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fusion_legacy_hybrid dask/tests/test_optimization.py::test_fusion_wide_legacy_hybrid [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_fusion_wide_legacy_hybrid dask/tests/test_optimization.py::test_do_not_inline_legacy_hybrid [gw0] [ 99%] PASSED dask/tests/test_optimization.py::test_do_not_inline_legacy_hybrid [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_random_functions_with_state_numpy dask/tests/test_tokenize.py::test_tokenize_pyarrow_datatypes_simple [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_pyarrow_datatypes_simple dask/tests/test_order.py::test_visualize_int_overflow dask/tests/test_tokenize.py::test_tokenize_pyarrow_datatypes_complex [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_pyarrow_datatypes_complex dask/tests/test_tokenize.py::test_pyarrow_table [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_pyarrow_table dask/tests/test_tokenize.py::test_tokenize_opaque_object_with_buffers [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_opaque_object_with_buffers dask/tests/test_tokenize.py::test_tokenize_numba[numba_jit] [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba[numba_jit] dask/tests/test_tokenize.py::test_tokenize_numba[numba_jit_with_signature] [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba[numba_jit_with_signature] dask/tests/test_tokenize.py::test_tokenize_numba[numba_vectorize] [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba[numba_vectorize] dask/tests/test_tokenize.py::test_tokenize_numba[numba_vectorize_with_signature] [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba[numba_vectorize_with_signature] dask/tests/test_tokenize.py::test_tokenize_numba[numba_guvectorize] [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba[numba_guvectorize] dask/tests/test_tokenize.py::test_tokenize_numba_unique_token [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_tokenize_numba_unique_token dask/tests/test_tokenize.py::test_numba_local [gw1] [ 99%] SKIPPED dask/tests/test_tokenize.py::test_numba_local dask/tests/test_tokenize.py::test_tokenize_np_dtype [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_np_dtype dask/tests/test_tokenize.py::test_tokenize_pandas_arrow_strings [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_pandas_arrow_strings dask/tests/test_tokenize.py::test_normalize_pickle [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_normalize_pickle dask/tests/test_tokenize.py::test_tokenize_recursive_respects_ensure_deterministic [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_recursive_respects_ensure_deterministic dask/tests/test_tokenize.py::test_tokenize_nested_sequence_thread_safe [gw0] [ 99%] PASSED dask/tests/test_order.py::test_visualize_int_overflow dask/tests/test_order.py::test_ordering_keeps_groups_together[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_ordering_keeps_groups_together[abcde] dask/tests/test_order.py::test_ordering_keeps_groups_together[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_ordering_keeps_groups_together[edcba] dask/tests/test_order.py::test_avoid_broker_nodes[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_broker_nodes[abcde] dask/tests/test_order.py::test_avoid_broker_nodes[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_broker_nodes[edcba] dask/tests/test_order.py::test_base_of_reduce_preferred[abcde-True] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_base_of_reduce_preferred[abcde-True] dask/tests/test_order.py::test_base_of_reduce_preferred[abcde-False] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_base_of_reduce_preferred[abcde-False] dask/tests/test_order.py::test_base_of_reduce_preferred[edcba-True] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_base_of_reduce_preferred[edcba-True] dask/tests/test_order.py::test_base_of_reduce_preferred[edcba-False] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_base_of_reduce_preferred[edcba-False] dask/tests/test_order.py::test_avoid_upwards_branching[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_upwards_branching[abcde] dask/tests/test_order.py::test_avoid_upwards_branching[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_upwards_branching[edcba] dask/tests/test_order.py::test_avoid_upwards_branching_complex[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_upwards_branching_complex[abcde] dask/tests/test_order.py::test_avoid_upwards_branching_complex[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_avoid_upwards_branching_complex[edcba] dask/tests/test_order.py::test_deep_bases_win_over_dependents[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_deep_bases_win_over_dependents[abcde] dask/tests/test_order.py::test_deep_bases_win_over_dependents[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_deep_bases_win_over_dependents[edcba] dask/tests/test_order.py::test_prefer_deep[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_prefer_deep[abcde] dask/tests/test_order.py::test_prefer_deep[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_prefer_deep[edcba] dask/tests/test_order.py::test_stacklimit[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_stacklimit[abcde] dask/tests/test_order.py::test_stacklimit[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_stacklimit[edcba] dask/tests/test_order.py::test_break_ties_by_str[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_break_ties_by_str[abcde] dask/tests/test_order.py::test_break_ties_by_str[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_break_ties_by_str[edcba] dask/tests/test_order.py::test_order_doesnt_fail_on_mixed_type_keys[abcde] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_order_doesnt_fail_on_mixed_type_keys[abcde] dask/tests/test_order.py::test_order_doesnt_fail_on_mixed_type_keys[edcba] [gw0] [ 99%] PASSED dask/tests/test_order.py::test_order_doesnt_fail_on_mixed_type_keys[edcba] dask/tests/test_traceback.py::test_distributed_shorten_traceback [gw0] [ 99%] SKIPPED dask/tests/test_traceback.py::test_distributed_shorten_traceback dask/tests/test_traceback.py::test_deprecated_config [gw0] [ 99%] PASSED dask/tests/test_traceback.py::test_deprecated_config dask/tests/test_typing.py::test_isinstance_core[DaskCollection] [gw0] [ 99%] PASSED dask/tests/test_typing.py::test_isinstance_core[DaskCollection] dask/tests/test_typing.py::test_isinstance_core[HLGDaskCollection] [gw0] [ 99%] PASSED dask/tests/test_typing.py::test_isinstance_core[HLGDaskCollection] dask/tests/test_typing.py::test_isinstance_custom [gw0] [ 99%] PASSED dask/tests/test_typing.py::test_isinstance_custom dask/tests/test_typing.py::test_parameter_passing [gw0] [ 99%] PASSED dask/tests/test_typing.py::test_parameter_passing dask/tests/test_typing.py::test_inheriting_class [gw0] [ 99%] PASSED dask/tests/test_typing.py::test_inheriting_class dask/tests/test_utils.py::test_ensure_bytes [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_bytes dask/tests/test_utils.py::test_ensure_bytes_ndarray [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_bytes_ndarray dask/tests/test_utils.py::test_ensure_bytes_pyarrow_buffer [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_bytes_pyarrow_buffer dask/tests/test_utils.py::test_ensure_unicode [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_unicode dask/tests/test_utils.py::test_ensure_unicode_ndarray [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_unicode_ndarray dask/tests/test_utils.py::test_ensure_unicode_pyarrow_buffer [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_unicode_pyarrow_buffer dask/tests/test_utils.py::test_getargspec [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_getargspec dask/tests/test_utils.py::test_takes_multiple_arguments [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_takes_multiple_arguments dask/tests/test_utils.py::test_dispatch [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_dispatch dask/tests/test_utils.py::test_dispatch_kwargs [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_dispatch_kwargs dask/tests/test_utils.py::test_dispatch_variadic_on_first_argument [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_dispatch_variadic_on_first_argument dask/tests/test_utils.py::test_dispatch_lazy [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_dispatch_lazy dask/tests/test_utils.py::test_dispatch_lazy_walks_mro [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_dispatch_lazy_walks_mro dask/tests/test_utils.py::test_random_state_data [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_random_state_data dask/tests/test_utils.py::test_memory_repr [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_memory_repr dask/tests/test_utils.py::test_method_caller [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_method_caller dask/tests/test_utils.py::test_skip_doctest [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_skip_doctest dask/tests/test_utils.py::test_extra_titles [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_extra_titles dask/tests/test_utils.py::test_asciitable [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_asciitable dask/tests/test_utils.py::test_SerializableLock [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_SerializableLock dask/tests/test_utils.py::test_SerializableLock_name_collision [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_SerializableLock_name_collision dask/tests/test_utils.py::test_SerializableLock_locked [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_SerializableLock_locked dask/tests/test_utils.py::test_SerializableLock_acquire_blocking [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_SerializableLock_acquire_blocking dask/tests/test_utils.py::test_funcname [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_funcname dask/tests/test_utils.py::test_funcname_long [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_funcname_long dask/tests/test_utils.py::test_funcname_toolz [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_funcname_toolz dask/tests/test_utils.py::test_funcname_multipledispatch [gw0] [ 99%] SKIPPED dask/tests/test_utils.py::test_funcname_multipledispatch dask/tests/test_utils.py::test_funcname_numpy_vectorize [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_funcname_numpy_vectorize dask/tests/test_utils.py::test_ndeepmap [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ndeepmap dask/tests/test_utils.py::test_ensure_dict [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_dict dask/tests/test_utils.py::test_ensure_set [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_ensure_set dask/tests/test_utils.py::test_itemgetter [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_itemgetter dask/tests/test_utils.py::test_partial_by_order [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_partial_by_order dask/tests/test_utils.py::test_has_keyword [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_has_keyword dask/tests/test_utils.py::test_derived_from [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_derived_from dask/tests/test_utils.py::test_derived_from_prop_cached_prop[@property] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_derived_from_prop_cached_prop[@property] dask/tests/test_utils.py::test_derived_from_prop_cached_prop[@cached_property] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_derived_from_prop_cached_prop[@cached_property] dask/tests/test_utils.py::test_derived_from_func [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_derived_from_func dask/tests/test_utils.py::test_derived_from_dask_dataframe [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_derived_from_dask_dataframe dask/tests/test_utils.py::test_parse_bytes [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_parse_bytes dask/tests/test_utils.py::test_parse_timedelta [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_parse_timedelta dask/tests/test_utils.py::test_is_arraylike [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_is_arraylike dask/tests/test_utils.py::test_iter_chunks [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_iter_chunks dask/tests/test_utils.py::test_stringify [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_stringify dask/tests/test_utils.py::test_format_bytes[0-0 B] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[0-0 B] dask/tests/test_utils.py::test_format_bytes[920-920 B] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[920-920 B] dask/tests/test_utils.py::test_format_bytes[930-0.91 kiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[930-0.91 kiB] dask/tests/test_utils.py::test_format_bytes[943339.52-921.23 kiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[943339.52-921.23 kiB] dask/tests/test_utils.py::test_format_bytes[953579.52-0.91 MiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[953579.52-0.91 MiB] dask/tests/test_utils.py::test_format_bytes[965979668.48-921.23 MiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[965979668.48-921.23 MiB] dask/tests/test_utils.py::test_format_bytes[976465428.48-0.91 GiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[976465428.48-0.91 GiB] dask/tests/test_utils.py::test_format_bytes[989163180523.52-921.23 GiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[989163180523.52-921.23 GiB] dask/tests/test_utils.py::test_format_bytes[999900598763.52-0.91 TiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[999900598763.52-0.91 TiB] dask/tests/test_utils.py::test_format_bytes[1012903096856084.5-921.23 TiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[1012903096856084.5-921.23 TiB] dask/tests/test_utils.py::test_format_bytes[1023898213133844.5-0.91 PiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[1023898213133844.5-0.91 PiB] dask/tests/test_utils.py::test_format_bytes[1152921504606846976-1024.00 PiB] [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_bytes[1152921504606846976-1024.00 PiB] dask/tests/test_utils.py::test_format_time [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_format_time dask/tests/test_utils.py::test_deprecated [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_deprecated dask/tests/test_utils.py::test_deprecated_version [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_deprecated_version dask/tests/test_utils.py::test_deprecated_after_version [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_deprecated_after_version dask/tests/test_utils.py::test_deprecated_category [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_deprecated_category dask/tests/test_utils.py::test_deprecated_message [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_deprecated_message dask/tests/test_utils.py::test_typename [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_typename dask/tests/test_utils.py::test_typename_on_instances [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_typename_on_instances dask/tests/test_utils.py::test_cached_cumsum [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_cached_cumsum dask/tests/test_utils.py::test_cached_cumsum_nan [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_cached_cumsum_nan dask/tests/test_utils.py::test_cached_cumsum_non_tuple [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_cached_cumsum_non_tuple dask/tests/test_utils.py::test_tmpfile_naming [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_tmpfile_naming dask/tests/test_utils.py::test_get_meta_library [gw0] [ 99%] PASSED dask/tests/test_utils.py::test_get_meta_library dask/tests/test_utils.py::test_get_meta_library_gpu [gw0] [ 99%] SKIPPED dask/tests/test_utils.py::test_get_meta_library_gpu dask/tests/test_utils_test.py::test_hlg_layer [gw0] [ 99%] PASSED dask/tests/test_utils_test.py::test_hlg_layer dask/tests/test_utils_test.py::test_hlg_layer_topological [gw0] [ 99%] PASSED dask/tests/test_utils_test.py::test_hlg_layer_topological dask/tests/test_utils_test.py::test__check_warning [gw0] [ 99%] PASSED dask/tests/test_utils_test.py::test__check_warning [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_nested_sequence_thread_safe dask/tests/test_tokenize.py::test_tokenize_range_index [gw1] [ 99%] PASSED dask/tests/test_tokenize.py::test_tokenize_range_index dask/tests/test_traceback.py::test_shorten_traceback[None-expect0] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_shorten_traceback[None-expect0] dask/tests/test_traceback.py::test_shorten_traceback[regexes1-expect1] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_shorten_traceback[regexes1-expect1] dask/tests/test_traceback.py::test_shorten_traceback[regexes2-expect2] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_shorten_traceback[regexes2-expect2] dask/tests/test_traceback.py::test_shorten_traceback[regexes3-expect3] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_shorten_traceback[regexes3-expect3] dask/tests/test_traceback.py::test_shorten_traceback[regexes4-expect4] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_shorten_traceback[regexes4-expect4] dask/tests/test_traceback.py::test_compute_shorten_traceback[threads] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_compute_shorten_traceback[threads] dask/tests/test_traceback.py::test_compute_shorten_traceback[processes] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_compute_shorten_traceback[processes] dask/tests/test_traceback.py::test_compute_shorten_traceback[sync] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_compute_shorten_traceback[sync] dask/tests/test_traceback.py::test_persist_shorten_traceback[threads] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_persist_shorten_traceback[threads] dask/tests/test_traceback.py::test_persist_shorten_traceback[processes] [gw1] [ 99%] PASSED dask/tests/test_traceback.py::test_persist_shorten_traceback[processes] dask/tests/test_traceback.py::test_persist_shorten_traceback[sync] [gw1] [100%] PASSED dask/tests/test_traceback.py::test_persist_shorten_traceback[sync] ==================================== ERRORS ==================================== ____ ERROR at setup of test_method_operators[series-True-rmul-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmul-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rmul-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmul-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmul-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rmul-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmul-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rdiv-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rdiv-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rdiv-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rdiv-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rdiv-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rdiv-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rdiv-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rdiv-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rdiv-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rdiv-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rdiv-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rdiv-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rdiv-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rtruediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rtruediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rtruediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rtruediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rtruediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rtruediv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rtruediv-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rtruediv-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rtruediv-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rtruediv-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rtruediv-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rtruediv-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rtruediv-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rfloordiv-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rfloordiv-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rfloordiv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rfloordiv-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rfloordiv-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rfloordiv-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rfloordiv-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rfloordiv-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rfloordiv-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rfloordiv-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rmod-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rmod-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmod-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmod-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmod-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmod-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmod-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rmod-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmod-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmod-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmod-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rmod-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rmod-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rpow-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rpow-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rpow-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rpow-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rpow-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rpow-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rpow-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rpow-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rpow-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rpow-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rpow-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rpow-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rpow-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-add-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-add-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-add-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-add-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-add-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-add-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-add-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-add-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-add-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-add-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-add-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-add-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-add-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-sub-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-sub-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-sub-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-sub-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-sub-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-sub-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-sub-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-sub-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-sub-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-sub-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-sub-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-sub-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-sub-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-mul-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-mul-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mul-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mul-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mul-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mul-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mul-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-mul-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mul-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mul-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mul-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-mul-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mul-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-div-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-div-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-div-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-div-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-div-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-div-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-div-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-div-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-div-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-div-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-div-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-div-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-div-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-divide-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-divide-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-divide-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-divide-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-divide-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-divide-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-divide-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-divide-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-divide-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-divide-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-divide-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-divide-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-divide-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-divide-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-divide-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-divide-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-divide-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-truediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-truediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-truediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-truediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-truediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-truediv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-truediv-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-truediv-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-truediv-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-truediv-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-truediv-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-truediv-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-truediv-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-floordiv-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-floordiv-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-floordiv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-floordiv-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-floordiv-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-floordiv-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-floordiv-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-floordiv-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-floordiv-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-floordiv-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-mod-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-mod-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mod-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mod-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-mod-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-mod-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mod-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-mod-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mod-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-mod-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mod-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-mod-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-mod-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-pow-None-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-None-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-pow-None-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-None-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-pow-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-pow-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-pow-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-False-pow-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-1-0-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-pow-1-0-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-pow-1-0-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-pow-1-0-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-pow-1-x-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-pow-1-x-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-pow-1-x-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-pow-1-x-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-radd-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-radd-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-radd-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-radd-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-radd-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-radd-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-radd-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-radd-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-radd-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-radd-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-radd-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-radd-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-radd-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-radd-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-radd-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-radd-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-radd-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rsub-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rsub-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rsub-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rsub-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rsub-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rsub-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rsub-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rsub-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rsub-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rsub-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rsub-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rsub-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rsub-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rsub-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rsub-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rsub-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rsub-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rmul-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmul-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmul-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmul-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmul-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmul-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmul-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmul-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmul-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmul-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmul-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmul-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmul-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmul-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmul-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmul-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmul-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rdiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rdiv-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rdiv-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rdiv-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rdiv-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rdiv-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rdiv-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rdiv-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rdiv-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rdiv-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rdiv-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rdiv-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rdiv-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rdiv-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rdiv-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rdiv-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rdiv-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rtruediv-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rtruediv-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rtruediv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rtruediv-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rtruediv-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rtruediv-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rtruediv-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rtruediv-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rtruediv-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rtruediv-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rfloordiv-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rfloordiv-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rfloordiv-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rfloordiv-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rfloordiv-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rfloordiv-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rfloordiv-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rfloordiv-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rmod-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmod-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmod-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmod-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmod-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmod-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmod-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmod-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rmod-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rmod-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmod-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmod-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmod-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rmod-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmod-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rmod-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rmod-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-False-rpow-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rpow-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rpow-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rpow-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rpow-None-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-None-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rpow-None-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-None-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rpow-None-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-None-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rpow-None-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-None-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-False-rpow-1-None-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-1-None-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-False-rpow-1-None-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-1-None-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rpow-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rpow-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rpow-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-False-rpow-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rpow-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-False-rpow-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-False-rpow-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-add-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-add-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-add-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-add-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-add-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-add-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-add-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-add-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-add-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-add-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-add-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-add-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-add-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-sub-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-sub-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-sub-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-sub-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-sub-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-sub-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-sub-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-sub-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-sub-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-sub-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-sub-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-sub-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-sub-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-mul-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-mul-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mul-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mul-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mul-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mul-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mul-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-mul-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mul-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mul-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mul-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-mul-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mul-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-div-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-div-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-div-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-div-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-div-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-div-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-div-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-div-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-div-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-div-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-div-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-div-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-div-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-divide-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-divide-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-divide-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-divide-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-divide-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-divide-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-divide-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-divide-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-divide-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-divide-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-truediv-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-truediv-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-truediv-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-truediv-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-truediv-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-truediv-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-truediv-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-truediv-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-floordiv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-mod-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-mod-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mod-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mod-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-mod-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-mod-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mod-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-mod-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mod-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-mod-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mod-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-mod-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-mod-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-pow-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-None-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-pow-None-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-None-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-pow-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-pow-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-pow-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-True-pow-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-1-0-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-pow-1-0-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-pow-1-0-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-pow-1-0-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-pow-1-x-columns] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-pow-1-x-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-pow-1-x-index] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-pow-1-x-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-radd-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-radd-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-radd-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-radd-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-radd-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-radd-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-radd-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-radd-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-radd-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-radd-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-radd-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-radd-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-radd-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-radd-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-radd-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-radd-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-radd-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rsub-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rsub-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rsub-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rsub-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rsub-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rsub-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rsub-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rsub-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rsub-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rsub-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rsub-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rsub-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rsub-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rsub-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rsub-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rsub-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rsub-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmul-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmul-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmul-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmul-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmul-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmul-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmul-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmul-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmul-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmul-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmul-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmul-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmul-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmul-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmul-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmul-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmul-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rdiv-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rtruediv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-0-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-0-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-x-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-None-x-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rfloordiv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmod-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmod-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmod-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmod-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmod-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmod-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmod-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmod-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rmod-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rmod-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmod-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmod-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmod-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rmod-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmod-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rmod-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rmod-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rpow-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rpow-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rpow-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rpow-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rpow-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rpow-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rpow-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rpow-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-True-rpow-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-True-rpow-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rpow-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rpow-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rpow-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-True-rpow-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rpow-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-True-rpow-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-True-rpow-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-add-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-add-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-add-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-add-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-add-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-add-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-add-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-add-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-add-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-add-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-add-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-add-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-add-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-add-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-add-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-add-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-add-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-sub-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-sub-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-sub-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-sub-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-sub-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-sub-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-sub-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-sub-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-sub-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-sub-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-sub-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-sub-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-sub-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-sub-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-sub-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-sub-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-sub-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mul-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mul-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mul-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mul-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mul-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mul-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mul-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mul-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mul-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mul-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mul-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mul-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mul-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mul-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mul-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mul-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mul-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-div-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-div-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-div-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-div-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-div-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-div-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-div-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-div-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-div-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-div-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-div-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-div-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-div-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-div-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-div-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-div-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-div-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-divide-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-1-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-divide-1-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-divide-1-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-divide-1-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-divide-1-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-divide-1-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-divide-1-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-divide-1-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-None-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-None-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-None-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-None-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-1-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-1-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-truediv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-truediv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-truediv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-truediv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-truediv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-truediv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-0-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-0-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-x-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-None-x-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-floordiv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mod-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mod-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mod-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mod-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mod-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mod-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mod-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mod-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-mod-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-mod-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mod-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mod-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mod-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-mod-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mod-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-mod-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-mod-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-pow-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-pow-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-pow-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-pow-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-pow-None-0-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-None-0-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-pow-None-0-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-None-0-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-pow-None-x-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-None-x-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-pow-None-x-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-None-x-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-pow-1-None-columns] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-1-None-1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-pow-1-None-index] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-1-None-0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-pow-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-pow-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-pow-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-pow-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-pow-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-pow-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[dataframe-False-pow-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-radd-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-radd-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-radd-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-radd-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-radd-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-radd-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-radd-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-radd-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-radd-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-radd-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-radd-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-radd-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-radd-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rsub-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rsub-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rsub-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rsub-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_broadcasting_scalar[__add__] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_align_partitions.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_broadcasting_scalar[add] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_align_partitions.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rsub-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_assign_unknown_partitions _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_align_partitions.py:20: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ ERROR at setup of test_del __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[True-None-True] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rsub-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[True-None-False] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[True-None-None] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rsub-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[True-StringIO-True] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[True-StringIO-False] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rsub-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[True-StringIO-None] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rsub-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[False-None-True] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmul-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_info[False-None-False] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[False-None-None] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmul-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[False-StringIO-True] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_info[False-StringIO-False] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmul-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[False-StringIO-None] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[None-None-True] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[None-None-False] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_info[None-None-None] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmul-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[None-StringIO-True] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[None-StringIO-False] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_info[None-StringIO-None] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_dont_fuse_from_pandas_ops _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmul-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_column_projection_modify_list _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_setitem ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_set_index_blockwise_culling ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_explode_simplify ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_dask __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rmul-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_cumulative_methods[cumsum] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_cumulative_methods[cumprod] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_cumulative_methods[cummin] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmul-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_cumulative_methods[cummax] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_bool __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rmul-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_assign_empty_columns __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmul-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_nbytes _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ ERROR at setup of test_pop __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_value_counts ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_dropna _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_reset_index_projections ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_shift[index-None-1] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_shift[index-None-2] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[index-1h-1] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[index-1h-2] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_shift[index-freq2-1] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_shift[index-freq2-2] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_shift[0-None-1] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_shift[0-None-2] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_shift[0-1h-1] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_shift[0-1h-2] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[0-freq2-1] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[0-freq2-2] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_shift[columns-None-1] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_shift[columns-None-2] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rdiv-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_shift[columns-1h-1] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_shift[columns-1h-2] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_shift[columns-freq2-1] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_shift[columns-freq2-2] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_shift[1-None-1] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_shift[1-None-2] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_shift[1-1h-1] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-0-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_shift[1-1h-2] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[1-freq2-1] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-0-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_shift[1-freq2-2] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_memory_usage ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-x-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_nlargest_nsmallest[func0] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_nlargest_nsmallest[func1] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-None-x-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[0] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[1] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[2] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[3] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[4] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[5] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[6] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[7] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[8] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_conditionals[9] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[10] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[11] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[12] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[13] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rtruediv-1-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[14] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-None-1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[15] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[16] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-None-0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[17] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[18] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-0-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[19] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-0-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_conditionals[20] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[1-index] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-x-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_diff[1-0] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_diff[1-columns] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-None-x-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_diff[1-1] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[1-None] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-None-1] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[2-index] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_diff[2-0] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-None-0] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_diff[2-columns] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_diff[2-1] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-0-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[2-None] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-0-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_diff[None-index] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-0-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[None-0] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_diff[None-columns] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-x-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_diff[None-1] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-x-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_diff[None-None] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rfloordiv-1-x-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-add-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmod-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-add-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-add-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmod-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-add-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmod-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-add-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-add-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmod-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-add-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-add-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rmod-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-add-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-add-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-add-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rmod-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-add-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rmod-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-add-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-add-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rmod-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-add-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rmod-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-add-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rpow-None-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-None-None-1] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-add-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rpow-None-None-index] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-sub-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-None-None-0] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-sub-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-sub-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rpow-None-0-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-sub-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-None-0-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-sub-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-None-0-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-None-0-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-sub-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rpow-None-x-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-None-x-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-sub-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-None-x-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-None-x-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-sub-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[dataframe-False-rpow-1-None-columns] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-None-1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-sub-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-1-None-index] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-None-0] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-sub-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-1-0-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-0-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rpow-1-0-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-0-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-sub-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[dataframe-False-rpow-1-x-columns] ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-sub-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-x-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[dataframe-False-rpow-1-x-index] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-sub-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[dataframe-False-rpow-1-x-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-sub-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-add-None-None-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-sub-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-None-None-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-sub-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-add-None-None-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-sub-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-None-None-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-mul-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-add-None-0-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mul-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-None-0-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mul-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-None-0-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mul-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-None-0-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mul-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-add-None-x-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-None-x-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-None-x-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mul-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-None-x-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-add-1-None-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mul-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-1-None-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-1-None-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mul-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-add-1-None-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-1-0-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mul-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-add-1-0-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mul-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-add-1-0-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-add-1-0-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mul-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-add-1-x-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mul-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-add-1-x-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-add-1-x-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mul-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-add-1-x-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mul-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-sub-None-None-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-None-None-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mul-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-sub-None-None-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mul-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-None-None-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-sub-None-0-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mul-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-None-0-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-div-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-None-0-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-div-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-None-0-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-div-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-sub-None-x-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-div-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-None-x-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-div-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-None-x-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-None-x-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-div-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-sub-1-None-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-1-None-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-1-None-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-div-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-sub-1-None-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-1-0-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-div-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-sub-1-0-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-sub-1-0-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-div-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-sub-1-0-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-sub-1-x-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-div-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-sub-1-x-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-sub-1-x-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-sub-1-x-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-div-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-mul-None-None-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-div-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-None-None-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-mul-None-None-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-div-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-None-None-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-div-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mul-None-0-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-div-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-None-0-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-div-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-div-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-None-0-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-divide-None-None-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-None-0-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mul-None-x-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-None-None-1] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-None-x-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-divide-None-None-index] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-None-x-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-None-None-0] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-None-x-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mul-1-None-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-divide-None-0-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-1-None-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-None-0-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-1-None-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-None-0-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mul-1-None-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-None-0-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-1-0-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-divide-None-x-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mul-1-0-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-None-x-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-mul-1-0-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-None-x-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mul-1-0-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-None-x-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mul-1-x-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mul-1-x-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-divide-1-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-mul-1-x-index] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-1-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mul-1-x-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-1-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-div-None-None-columns] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-divide-1-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-1-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-None-None-1] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-divide-1-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-div-None-None-index] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-divide-1-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-None-None-0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-divide-1-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-div-None-0-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-divide-1-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-None-0-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-divide-1-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-None-0-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-divide-1-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-None-0-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-divide-1-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-div-None-x-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-truediv-None-None-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-None-x-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-truediv-None-None-1] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-None-x-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-truediv-None-None-index] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-None-x-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-truediv-None-None-0] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-div-1-None-columns] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-truediv-None-0-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-1-None-1] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-None-0-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-1-None-index] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-truediv-None-0-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-div-1-None-0] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-None-0-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-1-0-columns] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-truediv-None-x-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-None-x-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-truediv-None-x-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-None-x-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-truediv-1-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-1-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-truediv-1-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-1-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-truediv-1-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-truediv-1-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-1-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-truediv-1-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-truediv-1-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-truediv-1-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-truediv-1-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-truediv-1-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-floordiv-None-None-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-None-None-1] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-floordiv-None-None-index] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-None-None-0] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-floordiv-None-0-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-None-0-1] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-None-0-index] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-None-0-0] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-floordiv-None-x-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-None-x-1] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-None-x-index] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-None-x-0] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-floordiv-1-None-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-1-None-1] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-1-None-index] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-floordiv-1-None-0] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-1-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-floordiv-1-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-floordiv-1-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-floordiv-1-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-floordiv-1-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-floordiv-1-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-floordiv-1-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-floordiv-1-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-mod-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mod-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mod-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mod-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mod-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mod-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mod-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mod-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-mod-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-mod-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mod-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mod-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mod-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-mod-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mod-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-mod-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-mod-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-pow-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-pow-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-pow-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-pow-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-pow-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-pow-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-pow-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-pow-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-pow-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-pow-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-pow-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-pow-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-pow-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-pow-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-pow-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-pow-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[series-True-pow-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-radd-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-radd-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-radd-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-radd-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-radd-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-radd-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-radd-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-radd-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-radd-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-radd-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-radd-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-radd-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-radd-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rsub-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rsub-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rsub-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rsub-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rsub-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rsub-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rsub-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rsub-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rsub-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rsub-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rsub-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[series-True-rsub-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[series-True-rsub-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[series-True-rmul-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_iloc __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_iloc_errors ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[series-True-rmul-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_loc_slice _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_iloc_slice _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_columns_dtype_on_empty_slice[False-False] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmul-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_columns_dtype_on_empty_slice[False-True] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_columns_dtype_on_empty_slice[True-False] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_columns_dtype_on_empty_slice[True-True] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ ERROR at setup of test_loc __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_loc_with_series ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_loc_with_array _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmul-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_loc_with_function ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reverse_indexing ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(20)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_indexing.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 5 50.0 6 60.0 7 70.0 8 80.0 9 90....12 120.0 13 130.0 14 140.0 15 150.0 16 160.0 17 170.0 18 180.0 19 190.0 Name: x, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[series-True-rmul-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_map_partitions _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_map_partitions_broadcast ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[series-True-rmul-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_map_overlap[1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_map_overlap[4] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[series-True-rmul-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_map_overlap_divisions _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-div-1-0-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_map_partitions_partition_info _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-div-1-0-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_map_overlap_errors ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-div-1-0-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-div-1-x-columns] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-div-1-x-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-div-1-x-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-div-1-x-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-divide-None-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-divide-None-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-divide-None-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-divide-None-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-divide-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-divide-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-divide-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-divide-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-divide-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-divide-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-divide-1-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-divide-1-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-1-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-divide-1-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-divide-1-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-divide-1-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-divide-1-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-divide-1-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-True-truediv-None-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-None-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-truediv-None-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-None-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-truediv-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-truediv-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-truediv-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-truediv-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-1-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-truediv-1-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-truediv-1-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-truediv-1-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-truediv-1-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-truediv-1-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-truediv-1-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-truediv-1-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-True-floordiv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-floordiv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-floordiv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-floordiv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-floordiv-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-floordiv-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-floordiv-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-floordiv-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-floordiv-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-floordiv-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-floordiv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-floordiv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-floordiv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-floordiv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-floordiv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-floordiv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-floordiv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-mod-None-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-None-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-mod-None-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-None-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mod-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_token_given ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mod-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-mod-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-mod-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-1-0-columns] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mod-1-0-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-mod-1-0-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mod-1-0-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-mod-1-x-columns] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mod-1-x-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-mod-1-x-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-mod-1-x-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-pow-None-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-None-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-pow-None-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-None-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-pow-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-pow-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-pow-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-True-pow-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-1-0-columns] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-pow-1-0-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-pow-1-0-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-pow-1-0-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-pow-1-x-columns] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-pow-1-x-1] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-pow-1-x-index] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-pow-1-x-0] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-radd-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-radd-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-radd-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-radd-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-radd-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-radd-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-radd-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-radd-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-radd-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-radd-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-radd-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-radd-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-radd-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-radd-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-radd-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-radd-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-radd-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rsub-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rsub-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rsub-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rsub-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rsub-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rsub-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rsub-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rsub-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rsub-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rsub-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rsub-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rsub-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rsub-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rsub-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rsub-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rsub-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rsub-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rmul-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmul-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmul-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmul-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmul-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmul-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmul-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmul-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmul-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmul-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmul-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmul-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmul-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmul-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmul-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmul-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmul-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rdiv-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rdiv-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rdiv-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rdiv-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rdiv-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rdiv-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rdiv-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rdiv-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rdiv-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rdiv-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rdiv-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rdiv-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rdiv-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rdiv-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rdiv-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rdiv-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rdiv-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-True-rtruediv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rtruediv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rtruediv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rtruediv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rtruediv-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rtruediv-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rtruediv-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rtruediv-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rtruediv-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rtruediv-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rtruediv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rtruediv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rtruediv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rtruediv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rtruediv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rtruediv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rtruediv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[1-True-rfloordiv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-True-rfloordiv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rfloordiv-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rfloordiv-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-True-rfloordiv-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rfloordiv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rfloordiv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rfloordiv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rfloordiv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rmod-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmod-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmod-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmod-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmod-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmod-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmod-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmod-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rmod-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_rewrite_filters ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100), "a": 1, "b": 2}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_predicate_pushdown.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x a b 0 0 1 2 1 1 1 2 2 2 1 2 3 3 1 2 4 4 1 2 .. .. .. .. 95 95 1 2 96 96 1 2 97 97 1 2 98 98 1 2 99 99 1 2 [100 rows x 3 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_rewrite_filters_query _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100), "a": 1, "b": 2}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_predicate_pushdown.py:15: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x a b 0 0 1 2 1 1 1 2 2 2 1 2 3 3 1 2 4 4 1 2 .. .. .. .. 95 95 1 2 96 96 1 2 97 97 1 2 98 98 1 2 99 99 1 2 [100 rows x 3 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rmod-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_median _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_min_dt _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmod-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_drop_duplicates[1-False] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmod-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_drop_duplicates[1-None] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_drop_duplicates[1-5] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_drop_duplicates[True-False] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmod-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_drop_duplicates[True-None] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_drop_duplicates[True-5] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rmod-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_value_counts[1-False] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmod-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_value_counts[1-None] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rmod-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_value_counts[1-5] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_value_counts[True-False] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rmod-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_value_counts[True-None] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_value_counts[True-5] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-True-rpow-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_value_counts_sort ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rpow-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_unique[1-None] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_unique[1-5] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rpow-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_unique[True-None] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_unique[True-5] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rpow-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[False-21-sum] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_dataframe_split_every[False-21-prod] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rpow-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[False-21-min] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[False-21-max] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rpow-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[False-21-any] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[False-21-all] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_dataframe_split_every[False-21-count] _________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rpow-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-sum] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-prod] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-min] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rpow-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-max] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-any] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_split_every[None-23-all] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_dataframe_split_every[None-23-count] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-True-rpow-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[5-23-sum] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_split_every[5-23-prod] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[5-23-min] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-True-rpow-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[5-23-max] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[5-23-any] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[5-23-all] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rpow-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_split_every[5-23-count] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[2-31-sum] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rpow-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_split_every[2-31-prod] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[2-31-min] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[2-31-max] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rpow-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[2-31-any] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_dataframe_split_every[2-31-all] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-True-rpow-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_split_every[2-31-count] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rpow-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_dataframe_mode_split_every[False-53] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_dataframe_mode_split_every[None-57] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-True-rpow-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_mode_split_every[5-57] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-True-rpow-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_dataframe_mode_split_every[2-73] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-sum] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-add-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-prod] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-add-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-min] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-max] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-add-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-any] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-all] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-add-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[False-31-mode] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_series_split_every[False-31-count] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-add-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[None-33-sum] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[None-33-prod] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[None-33-min] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-add-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[None-33-max] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[None-33-any] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[None-33-all] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-add-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[None-33-mode] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_series_split_every[None-33-count] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-add-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-sum] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-prod] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-min] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-add-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-max] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-any] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-all] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-add-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[5-33-mode] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-add-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[5-33-count] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-sum] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-add-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-prod] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-min] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-max] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-any] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-add-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-all] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-add-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_series_split_every[2-41-mode] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-add-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_series_split_every[2-41-count] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-add-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[sum--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[sum-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-add-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[sum-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-sub-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_split_every_lt2[prod--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[prod-0] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-sub-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[prod-1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-sub-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[min--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[min-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-sub-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[min-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-sub-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[max--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[max-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[max-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-sub-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[any--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[any-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[any-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-sub-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[all--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[all-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[all-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-sub-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_split_every_lt2[mode--1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[mode-0] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_split_every_lt2[mode-1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_split_every_lt2[count--1] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-sub-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_split_every_lt2[count-0] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_split_every_lt2[count-1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_split_every_lt2[nunique_approx--1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-sub-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_split_every_lt2[nunique_approx-0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_split_every_lt2[nunique_approx-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-sub-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_split_every_lt2_split_out[drop_duplicates--1] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_split_every_lt2_split_out[drop_duplicates-0] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-sub-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_split_every_lt2_split_out[drop_duplicates-1] ______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_split_every_lt2_split_out[unique--1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_split_every_lt2_split_out[unique-0] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-sub-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_split_every_lt2_split_out[unique-1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_split_every_lt2_split_out[value_counts--1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-sub-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_split_every_lt2_split_out[value_counts-0] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-sub-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_split_every_lt2_split_out[value_counts-1] _______ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_nunique_approx[None] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-sub-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_nunique_approx[False] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_nunique_approx[2] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-sub-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_nunique_approx[10] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_unique_base ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-mul-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_value_counts_split_out_normalize ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mul-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func0] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func1] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mul-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func2] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mul-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func3] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func4] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mul-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func5] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func6] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func7] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mul-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func8] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reductions[func9] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_reductions[func10] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mul-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_reductions[func11] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_reductions[func12] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_reductions[func13] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mul-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_index_reductions[func0] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_index_reductions[func1] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mul-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_index_reductions[func2] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_index_reductions[func3] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mul-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_index_reductions[] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_unimplemented_on_index[] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mul-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func2] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mul-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func3] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func4] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func5] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mul-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func6] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_unimplemented_on_index[func7] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mul-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_cov_corr ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mul-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mul-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mul-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_mean_series_axis_none _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_reductions.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-div-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-div-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-div-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-div-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-div-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-div-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-div-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-div-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-div-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-div-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-div-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-div-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-div-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-div-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-div-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-div-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-div-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-divide-None-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-None-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-divide-None-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-None-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-divide-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-divide-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-divide-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-divide-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-1-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-divide-1-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-divide-1-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-divide-1-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-divide-1-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-divide-1-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-divide-1-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-divide-1-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-truediv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-truediv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-truediv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-truediv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-truediv-None-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-None-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-truediv-None-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-None-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-truediv-None-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-None-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-truediv-None-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-None-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-truediv-1-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-1-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-truediv-1-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-1-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-truediv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-truediv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-truediv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-truediv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-truediv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-truediv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-truediv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[1-False-floordiv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-floordiv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-floordiv-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-floordiv-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-floordiv-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-floordiv-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-floordiv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-floordiv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-floordiv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-floordiv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-floordiv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-floordiv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-floordiv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-mod-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mod-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mod-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mod-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mod-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mod-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mod-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mod-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-mod-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-mod-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mod-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mod-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mod-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-mod-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mod-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-mod-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-mod-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-pow-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-pow-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-pow-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-pow-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-pow-None-0-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-None-0-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-pow-None-0-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-None-0-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-pow-None-x-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-None-x-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-pow-None-x-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-None-x-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-pow-1-None-columns] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-1-None-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-pow-1-None-index] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-1-None-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-pow-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-pow-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-pow-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-pow-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-pow-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-pow-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_method_operators[1-False-pow-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-radd-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-radd-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-radd-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-radd-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-radd-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-radd-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-radd-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-radd-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-radd-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-radd-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-radd-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-radd-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-radd-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rsub-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rsub-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rsub-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rsub-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rsub-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rsub-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rsub-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rsub-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rsub-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rsub-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rsub-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rsub-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rsub-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rmul-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rmul-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmul-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmul-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmul-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmul-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmul-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rmul-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmul-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmul-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmul-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rmul-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmul-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rdiv-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rdiv-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rdiv-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rdiv-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rdiv-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rdiv-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rdiv-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rdiv-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rdiv-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rdiv-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rdiv-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rdiv-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rdiv-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[1-False-rtruediv-None-None-columns] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-None-None-1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-rtruediv-None-None-index] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-None-None-0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rtruediv-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_ufunc _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_reducers[mean] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[std] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[sum] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reducers[cumsum] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reducers[cumprod] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[var] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[min] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rtruediv-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[max] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[all] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_reducers[any] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_reducers[prod] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_clip __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_ufunc.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rtruediv-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rtruediv-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-1-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rtruediv-1-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rtruediv-1-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rtruediv-1-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rtruediv-1-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rtruediv-1-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rtruediv-1-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rtruediv-1-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_method_operators[1-False-rfloordiv-None-None-columns] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-None-1] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-rfloordiv-None-None-index] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-None-0] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-rfloordiv-None-0-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-0-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rfloordiv-None-0-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-0-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-rfloordiv-None-x-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-x-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rfloordiv-None-x-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-None-x-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ ERROR at setup of test_method_operators[1-False-rfloordiv-1-None-columns] ___ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-None-1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rfloordiv-1-None-index] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-None-0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-0-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rfloordiv-1-0-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-0-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rfloordiv-1-0-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-x-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rfloordiv-1-x-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rfloordiv-1-x-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rfloordiv-1-x-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rmod-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rmod-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmod-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmod-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rmod-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rmod-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmod-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rmod-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmod-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rmod-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmod-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rmod-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rmod-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___ ERROR at setup of test_method_operators[1-False-rpow-None-None-columns] ____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-None-None-1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_method_operators[1-False-rpow-None-None-index] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-None-None-0] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rpow-None-0-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-None-0-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-None-0-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-None-0-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rpow-None-x-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-None-x-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-None-x-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-None-x-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_method_operators[1-False-rpow-1-None-columns] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-1-None-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-1-None-index] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_method_operators[1-False-rpow-1-None-0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-1-0-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rpow-1-0-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rpow-1-0-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rpow-1-0-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_method_operators[1-False-rpow-1-x-columns] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rpow-1-x-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_method_operators[1-False-rpow-1-x-index] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_method_operators[1-False-rpow-1-x-0] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_binary_operator[0] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_binary_operator[1] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_binary_operator[2] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_binary_operator[3] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_binary_operator[4] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_and_or[0] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_and_or[1] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_to_timestamp[start] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_to_timestamp[end] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[0] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[1] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[2] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[3] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[4] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[5] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[6] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[7] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[8] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[9] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[10] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[11] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[12] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[13] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[14] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[15] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[16] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[17] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[18] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[19] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[20] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[21] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[22] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[23] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[24] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[25] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[26] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[27] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[28] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[29] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[30] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[31] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[32] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[33] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[34] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[35] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[36] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[37] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[38] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[39] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[40] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[41] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[42] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[43] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[44] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[45] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[46] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_blockwise[47] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_select_dtypes_projection ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_rename _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_mask_where _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_isna __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_clear_divisions ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_to_numeric _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_to_timedelta ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_drop_not_implemented __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_blockwise_pandas_only[0] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_blockwise_pandas_only[1] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_blockwise_pandas_only_warning[0] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_blockwise_pandas_only_warning[1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_blockwise_pandas_only_warning[2] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_blockwise_pandas_only_warning[3] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_map_meta ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_simplify_add_suffix_add_prefix _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_rename_axis ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_series_name ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_isin __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_isin_repr _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_round _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_repr __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_combine_first_simplify _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_rename_traverse_filter _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_columns_traverse_filters ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_clip_traverse_filters _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_drop_duplicates_subset_simplify[x-zz0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_drop_duplicates_subset_simplify[x-projection1] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____ ERROR at setup of test_drop_duplicates_subset_simplify[x-projection2] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_drop_duplicates_subset_simplify[x-zz1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_drop_duplicates_subset_simplify[subset1-zz0] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_drop_duplicates_subset_simplify[subset1-projection1] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_drop_duplicates_subset_simplify[subset1-projection2] __ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_drop_duplicates_subset_simplify[subset1-zz1] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_broadcast _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_persist ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_index _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_reset_index[True] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_reset_index[False] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_head __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_head_down _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_case_when _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_head_head _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_head_npartitions ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_head_tail_repartition _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_tail __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_tail_down _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_tail_tail _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_tail_repartition ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_projection_stacking __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_projection_stacking_coercion ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_projection_pushdown_dim_0 _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_remove_unnecessary_projections _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_substitute_parameters _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_copy __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_partitions _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_get_partition _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_column_getattr _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_serialization _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_size_optimized _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_series_iter ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_dataframe_iterrows ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_dataframe_itertuples __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_array_assignment ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_setattr ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_rename_projection_no_renamer ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_reset_index_projection_drop ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_getitem_column_types[list] _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_getitem_column_types[array] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_getitem_column_types[Series] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_getitem_column_types[Index] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_random_partitions ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_depth _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_partitions_nested ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_repartition_npartitions[7-True] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_repartition_npartitions[7-False] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_repartition_npartitions[12-True] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_repartition_npartitions[12-False] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_repartition_divisions[True] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_repartition_divisions[False] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_repartition_no_op ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_repartition_partition_size _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ ERROR at setup of test_len __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_astype_simplify ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_drop_duplicates[1] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_drop_duplicates[True] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_drop_duplicates_split_out _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_walk __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_find_operations ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_dropna_simplify[x] ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_dropna_simplify[subset1] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ ERROR at setup of test_dir __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ ERROR at setup of test_simplify_up_blockwise[x-replace-args0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_simplify_up_blockwise[x-isin-args1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_simplify_up_blockwise[x-clip-args2] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_simplify_up_blockwise[x-isna-args3] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_simplify_up_blockwise[x-round-args4] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_simplify_up_blockwise[x-abs-args5] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_simplify_up_blockwise[x-fillna-args6] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_simplify_up_blockwise[indexer1-replace-args0] _____ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_simplify_up_blockwise[indexer1-isin-args1] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_simplify_up_blockwise[indexer1-clip-args2] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_simplify_up_blockwise[indexer1-isna-args3] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______ ERROR at setup of test_simplify_up_blockwise[indexer1-round-args4] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ ERROR at setup of test_simplify_up_blockwise[indexer1-abs-args5] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____ ERROR at setup of test_simplify_up_blockwise[indexer1-fillna-args6] ______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_isin_as_predicate ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_sample _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_align _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_nunique[False] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_nunique[True] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_nunique_approx _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_memory_usage_per_partition _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_assign_simplify ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_assign_simplify_new_column_not_needed _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_assign_simplify_series _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_assign_non_series_inputs ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_assign_squash_together _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_rename_series_reduction ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_are_co_aligned _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_assign_pandas_inputs __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_astype_categories ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_drop_simplify _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_can_co_align ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_mixed_array_op _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_len_shuffle_repartition ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_columns_setter _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_contains ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_filter_pushdown_unavailable ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_filter_pushdown ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_shape _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_size __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_drop_duplicates_groupby ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_expression_bool_raises _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_expr_is_scalar _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_quantile_frame _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_quantile ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_dtype _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_shift_with_freq_datetime[B-False] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_shift_with_freq_datetime[D-True] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_shift_with_freq_datetime[h-True] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_isin_head _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_head_npartitions_divisions _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_shift_with_freq_period_index[D-True] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_shift_with_freq_period_index[h-True] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ ERROR at setup of test_shift_with_freq_TimedeltaIndex[min] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_shift_with_freq_TimedeltaIndex[D] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ ERROR at setup of test_shift_with_freq_TimedeltaIndex[h] ___________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_iter __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_items _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ ERROR at setup of test_predicate_pushdown_ndim_change _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_axes __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_scalar_repr ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_array_conversion ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_dt_accessor ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_reset_index_filter_pushdown ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_dt_accessor_not_available _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_str_accessor ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_astype_filter_pushdown _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_str_accessor_not_available _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ ERROR at setup of test_drop_set ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_str_accessor_getitem __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_shape_integer _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_str_accessor_extractall ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_str_accessor_removeprefix_removesuffix[removeprefix] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ ERROR at setup of test_str_accessor_removeprefix_removesuffix[removesuffix] __ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_str_accessor_cat ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_assign_overwriting_column _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_dropna_merge ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x // 7 # Not unique; duplicates span different partitions dask/dataframe/dask_expr/tests/test_collection.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0 1 0 2 0 3 0 4 0 .. 95 13 96 13 97 13 98 14 99 14 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_string_nullable_types _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def df_ddf(): import numpy as np df = pd.DataFrame( { "str_col": ["abc", "bcd", "cdef", "DEFG"], "int_col": [1, 2, 3, 4], "dt_col": np.array( [int(1e9), int(1.1e9), int(1.2e9), None], dtype="M8[ns]" ), }, index=["E", "f", "g", "h"], ) > df["string_col"] = df["str_col"].astype("string") dask/dataframe/tests/test_accessors.py:90: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = str_col int_col dt_col E abc 1 1970-01-01 00:00:01.000 f bcd 2 1970-01-01 00:00:01.100 g cdef 3 1970-01-01 00:00:01.200 h DEFG 4 NaT key = 'string_col' value = E abc f bcd g cdef h DEFG Name: str_col, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_concat_str _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_concat _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ ERROR at setup of test_concat_pdf _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_concat_divisions ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_concat_one_object ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ ERROR at setup of test_concat_one_no_columns _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ ERROR at setup of test_concat_simplify ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_concat_simplify_projection_not_added __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ ERROR at setup of test_concat_axis_one_co_aligned _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_concat_axis_one_all_divisions_unknown _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ ERROR at setup of test_concat_axis_one_drop_dfs_not_selected _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_concat_index ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ ERROR at setup of test_concat_one_series ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ ERROR at setup of test_concat_series _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ ERROR at setup of test_concat_series_and_projection ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_concat.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ ERROR at setup of test_simple _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_with_non_fusable_on_top ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ ERROR at setup of test_optimize_fusion_repeat _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ ERROR at setup of test_optimize_fusion_broadcast _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ ERROR at setup of test_persist_with_fusion __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ ERROR at setup of test_name __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.fixture def pdf(): pdf = pd.DataFrame({"x": range(100)}) > pdf["y"] = pdf.x * 10.0 dask/dataframe/dask_expr/tests/test_fusion.py:16: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'y' value = 0 0.0 1 10.0 2 20.0 3 30.0 4 40.0 ... 95 950.0 96 960.0 97 970.0 98 980.0 99 990.0 Name: x, Length: 100, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning =================================== FAILURES =================================== ___________________ test_multiple_repartition_partition_size ___________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_multiple_repartition_partition_size(): b = db.from_sequence(range(1, 100), npartitions=1) total_mem = sum(b.map_partitions(total_mem_usage).compute()) c = b.repartition(partition_size=(total_mem // 2)) assert c.npartitions >= 2 assert_eq(b, c) > d = c.repartition(partition_size=(total_mem // 5)) dask/bag/tests/test_bag.py:1305: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dask/bag/core.py:1696: in repartition return repartition_size(self, partition_size) dask/bag/core.py:2668: in repartition_size mem_usages = bag.map_partitions(total_mem_usage).compute() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ exc = TypeError(TypeError("cannot pickle 'itertools.chain' object"), ' File "/builddir/build/BUILD/python-dask-2025.4.1-bui... ~~~~~~~~^^^^^^^^^^^\n File "/usr/lib64/python3.14/copy.py", line 146, in deepcopy\n rv = reductor(4)\n') tb = ' File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/local.py", l... ~~~~~~~~^^^^^^^^^^^\n File "/usr/lib64/python3.14/copy.py", line 146, in deepcopy\n rv = reductor(4)\n' def reraise(exc, tb=None): exc = remote_exception(exc, tb) > raise exc E dask.multiprocessing.TypeError: cannot pickle 'itertools.chain' object E E Traceback E --------- E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/local.py", line 252, in execute_task E result = task(data) E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/_task_spec.py", line 758, in __call__ E return self.func(*new_argspec) E ~~~~~~~~~^^^^^^^^^^^^^^ E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/_task_spec.py", line 204, in _execute_subgraph E res = execute_graph(final, keys=[outkey]) E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/_task_spec.py", line 1028, in execute_graph E cache[key] = node(cache) E ~~~~^^^^^^^ E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/_task_spec.py", line 758, in __call__ E return self.func(*new_argspec) E ~~~~~~~~~^^^^^^^^^^^^^^ E File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/bag/core.py", line 2657, in total_mem_usage E partition = reify(deepcopy(partition)) E ~~~~~~~~^^^^^^^^^^^ E File "/usr/lib64/python3.14/copy.py", line 146, in deepcopy E rv = reductor(4) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/multiprocessing.py:112: TypeError ____________ test_combine_similar[parquet-read_parquet-ReadParquet] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_combine_similar_parquet_r0') fmt = 'parquet', read_func = read_cls = @pytest.mark.parametrize( "fmt,read_func,read_cls", [("parquet", read_parquet, ReadParquet), ("csv", read_csv, FromMap)], ) def test_combine_similar(tmpdir, fmt, read_func, read_cls): pdf = pd.DataFrame( {"x": [0, 1, 2, 3] * 4, "y": range(16), "z": [None, 1, 2, 3] * 4} ) fn = _make_file(tmpdir, format=fmt, df=pdf) df = read_func(fn) df = df.replace(1, 100) > df["xx"] = df.x != 0 dask/dataframe/dask_expr/io/tests/test_io.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'xx' value = Series([], Name: x, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_combine_similar[csv-read_csv-FromMap] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_combine_similar_csv_read_0') fmt = 'csv', read_func = .read at 0x7ffb95f4dc70> read_cls = @pytest.mark.parametrize( "fmt,read_func,read_cls", [("parquet", read_parquet, ReadParquet), ("csv", read_csv, FromMap)], ) def test_combine_similar(tmpdir, fmt, read_func, read_cls): pdf = pd.DataFrame( {"x": [0, 1, 2, 3] * 4, "y": range(16), "z": [None, 1, 2, 3] * 4} ) fn = _make_file(tmpdir, format=fmt, df=pdf) df = read_func(fn) df = df.replace(1, 100) > df["xx"] = df.x != 0 dask/dataframe/dask_expr/io/tests/test_io.py:257: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [Unnamed: 0, x, y, z] Index: [], key = 'xx' value = Series([], Name: x, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_combine_similar_no_projection_on_one_branch _______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_combine_similar_no_projec0') def test_combine_similar_no_projection_on_one_branch(tmpdir): pdf = pd.DataFrame( {"x": [0, 1, 2, 3] * 4, "y": range(16), "z": [None, 1, 2, 3] * 4} ) fn = _make_file(tmpdir, format="parquet", df=pdf) df = read_parquet(fn) > df["xx"] = df.x != 0 dask/dataframe/dask_expr/io/tests/test_io.py:288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'xx' value = Series([], Name: x, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_map_partitions_assign_fusedio ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_map_partitions_assign_fus0') def test_map_partitions_assign_fusedio(tmpdir): data = {"country": ["se", "dk", "no"], "value": [0.1, 0.2, 0.3]} pd.DataFrame(data).to_parquet(tmpdir, partition_cols=["country"]) df = dd.read_parquet(tmpdir) y_pred = df.map_partitions(len) > df["y_pred"] = y_pred dask/dataframe/dask_expr/io/tests/test_io.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [value, country] Index: [], key = 'y_pred' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_to_parquet[True] _____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_to_parquet_True_0') write_metadata_file = True @pytest.mark.skipif(WINDOWS, reason="directory empty on windows") @pytest.mark.parametrize("write_metadata_file", [True, False]) def test_to_parquet(tmpdir, write_metadata_file): pdf = pd.DataFrame({"x": [1, 4, 3, 2, 0, 5]}) df = from_pandas(pdf, npartitions=2) # Check basic parquet round trip df.to_parquet(tmpdir, write_metadata_file=write_metadata_file) df2 = read_parquet(tmpdir, calculate_divisions=True) assert_eq(df, df2) # Check overwrite behavior > df["new"] = df["x"] + 1 dask/dataframe/dask_expr/io/tests/test_parquet.py:111: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'new' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_to_parquet[False] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_to_parquet_False_0') write_metadata_file = False @pytest.mark.skipif(WINDOWS, reason="directory empty on windows") @pytest.mark.parametrize("write_metadata_file", [True, False]) def test_to_parquet(tmpdir, write_metadata_file): pdf = pd.DataFrame({"x": [1, 4, 3, 2, 0, 5]}) df = from_pandas(pdf, npartitions=2) # Check basic parquet round trip df.to_parquet(tmpdir, write_metadata_file=write_metadata_file) df2 = read_parquet(tmpdir, calculate_divisions=True) assert_eq(df, df2) # Check overwrite behavior > df["new"] = df["x"] + 1 dask/dataframe/dask_expr/io/tests/test_parquet.py:111: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'new' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_timestamp_divisions ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_timestamp_divisions0') def test_timestamp_divisions(tmpdir): pdf = pd.DataFrame.from_dict( { "Date": ["11/26/2017", "11/26/2017"], "Time": ["17:00:00.067", "17:00:00.102"], "Volume": [403, 3], } ) > pdf["Timestamp"] = pd.to_datetime(pdf.Date) + pd.to_timedelta(pdf.Time) dask/dataframe/dask_expr/io/tests/test_parquet.py:587: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Date Time Volume 0 11/26/2017 17:00:00.067 403 1 11/26/2017 17:00:00.102 3 key = 'Timestamp' value = 0 2017-11-26 17:00:00.067 1 2017-11-26 17:00:00.102 dtype: datetime64[ns] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_read_parquet_index_projection ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_read_parquet_index_projec0') def test_read_parquet_index_projection(tmpdir): df = from_array( np.zeros((201 * 10, 8), dtype=np.int64), columns=["val1", "val2", "val3", "val4", "val5", "val6", "val7", "tsprv"], ) df = df.repartition(npartitions=201) df.to_parquet(tmpdir + "/index", write_index=False) df = read_parquet(tmpdir + "/index", calculate_divisions=True) > result = df.assign(dts=df.index - df.tsprv) dask/dataframe/dask_expr/io/tests/test_parquet.py:607: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [val1, val2, val3, val4, val5, val6, val7, tsprv] Index: [] key = 'dts', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_assign_align_partitions _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_align_partitions(): pdf = pd.DataFrame({"x": [0] * 20, "y": range(20)}) df = from_pandas(pdf, npartitions=2) s = pd.Series(range(10, 30)) ds = from_pandas(s, npartitions=df.npartitions) > result = df.assign(z=ds)[["y", "z"]] dask/dataframe/dask_expr/tests/test_align_partitions.py:84: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'z' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________________ test_categorize ________________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=2 0 int64 string 3 ... ... 5 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 1 bcbbbc 1 2 bcbbbc 2 3 bcbbbc 3 4 bcbbbc 4 1 bcbbbc 5 2 bcbbbc def test_categorize(df, pdf): > df = df.categorize() dask/dataframe/dask_expr/tests/test_categorical.py:39: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, string): [bcbbbc]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_categorical_set_index __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_categorical_set_index(): df = pd.DataFrame({"x": [1, 2, 3, 4], "y": ["a", "b", "b", "c"]}) > df["y"] = pd.Categorical(df["y"], categories=["a", "b", "c"], ordered=True) dask/dataframe/dask_expr/tests/test_categorical.py:57: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 1 a 1 2 b 2 3 b 3 4 c, key = 'y' value = ['a', 'b', 'b', 'c'] Categories (3, object): ['a' < 'b' < 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_categorize_drops_category_columns ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_categorize_drops_category_columns(): pdf = pd.DataFrame({"a": [1, 2, 1, 2, 3], "b": 1}) df = from_pandas(pdf) > df = df.categorize(columns=["a"]) dask/dataframe/dask_expr/tests/test_categorical.py:69: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'a' value = Series([], Name: a, dtype: category Categories (3, int64): [1, 2, 3]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________________ test_dot ___________________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_dot(): import dask.array as da s1 = pd.Series([1, 2, 3, 4]) s2 = pd.Series([4, 5, 6, 6]) df = pd.DataFrame({"one": s1, "two": s2}) dask_s1 = from_pandas(s1, npartitions=1) dask_df = from_pandas(df, npartitions=1) dask_s2 = from_pandas(s2, npartitions=1) assert_eq(s1.dot(s2), dask_s1.dot(dask_s2)) > assert_eq(s1.dot(df), dask_s1.dot(dask_df)) dask/dataframe/dask_expr/tests/test_collection.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_0' value = Index([], dtype='object') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_numeric_column_names ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 @pytest.mark.filterwarnings("ignore:DataFrameGroupBy.apply operated ") def test_numeric_column_names(): df = pd.DataFrame({0: [0, 1, 0, 1], 1: [1, 2, 3, 4], 2: [0, 1, 0, 1]}) ddf = from_pandas(df, npartitions=2) assert_eq(ddf.groupby(0).sum(), df.groupby(0).sum()) assert_eq(ddf.groupby([0, 2]).sum(), df.groupby([0, 2]).sum()) expected = df.groupby(0).apply(lambda x: x) > assert_eq( ddf.groupby(0).apply(lambda x: x, meta=expected), expected, ) dask/dataframe/dask_expr/tests/test_groupby.py:595: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: 0 1 2 npartitions=2 int64 ...=df, observed=False, func=. at 0x7f5bd847d900>, args=(), kwargs={}) b = 0 1 2 0 0 0 0 1 0 2 0 3 0 1 1 1 2 1 3 1 4 1 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: 0 1 2 npartitions=2 int64 ...=df, observed=False, func=. at 0x7f5bd847d900>, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bd847d900> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-63523125ab168572b2461359c3a10120', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________________ test_apply_divisions _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = y z x 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 .. .. .. 5 95 1 6 96 1 7 97 1 8 98 1 9 99 1 [100 rows x 2 columns] @pytest.mark.filterwarnings("ignore:DataFrameGroupBy.apply operated ") def test_apply_divisions(pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, npartitions=10) with pytest.warns(UserWarning, match="inferred from partial data"): result = df.groupby(["x", "y"]).apply(lambda x: x) assert df.divisions == result.divisions > assert_eq(result, pdf.groupby(["x", "y"]).apply(lambda x: x)) dask/dataframe/dask_expr/tests/test_groupby.py:608: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...False, func=. at 0x7f5bb8be0d50>, meta=, args=(), kwargs={}) b = y z x y x 0 0 0 0 1 10 0 10 1 20 0 20 1 30 0 30 1 40 0 40 1 ... .. .. 9 59 9 59 1 69 9 69 1 79 9 79 1 89 9 89 1 99 9 99 1 [100 rows x 2 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...False, func=. at 0x7f5bb8be0d50>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8be0d50> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-59b224210889cbf25d8df0b597a94555', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________________ test_groupby_apply_args ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] def test_groupby_apply_args(df, pdf): with pytest.warns(UserWarning, match="inferred from partial data"): > assert_eq( df.groupby("x").apply(lambda x, y: x + y, 1), pdf.groupby("x").apply(lambda x, y: x + y, 1), ) dask/dataframe/dask_expr/tests/test_groupby.py:653: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=4 int64 ..., func=. at 0x7f5bb8992560>, meta=, args=(1,), kwargs={}) b = x y z x 0 0 1 1 2 10 1 11 2 20 1 21 2 30 1 31 2 40 1 41 2..... ... .. 9 59 10 60 2 69 10 70 2 79 10 80 2 89 10 90 2 99 10 100 2 [100 rows x 3 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ..., func=. at 0x7f5bb8992560>, meta=, args=(1,), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8992560> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-0202cf3215de2d113200c7e33900119b', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________________ test_groupby_udf_user_warning _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] @pytest.mark.filterwarnings("ignore:DataFrameGroupBy.apply operated ") def test_groupby_udf_user_warning(df, pdf): def func(df): return df + 1 expected = pdf.groupby("x").apply(func) with pytest.warns(UserWarning, match="`meta` is not specified"): > assert_eq(expected, df.groupby("x").apply(func)) dask/dataframe/dask_expr/tests/test_groupby.py:803: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = x y z x 0 0 1 1 2 10 1 11 2 20 1 21 2 30 1 31 2 40 1 41 2..... ... .. 9 59 10 60 2 69 10 70 2 79 10 80 2 89 10 90 2 99 10 100 2 [100 rows x 3 columns] b = Dask DataFrame Structure: x y z npartitions=4 int64 ..., func=.func at 0x7f5bb91ea400>, meta=, args=(), kwargs={}) serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ..., func=.func at 0x7f5bb91ea400>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .func at 0x7f5bb91ea400> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-4fb3a0501295a1a29145f1e85c7a3a53', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError __________________________ test_groupby_median_series __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_groupby_median_series(): pdf = pd.DataFrame({"a": [1, 2, 3], "b": 1}) df = from_pandas(pdf, npartitions=2) > assert_eq( df.a.groupby(df.b).median(), pdf.a.groupby(pdf.b).median(), ) dask/dataframe/dask_expr/tests/test_groupby.py:845: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_0' value = Series([], Name: b, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumsum-a-a] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumsum-a-c] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumsum-a-d] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumsum-a-sel3] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumsum-a-sel4] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumsum-key1-a] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumsum-key1-c] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumsum-key1-d] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[cumsum-key1-sel3] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[cumsum-key1-sel4] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumprod-a-a] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumprod-a-c] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_cumulative[cumprod-a-d] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumprod-a-sel3] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumprod-a-sel4] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumprod-key1-a] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumprod-key1-c] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumprod-key1-d] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[cumprod-key1-sel3] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[cumprod-key1-sel4] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumcount-a-a] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumcount-a-c] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_cumulative[cumcount-a-d] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumcount-a-sel3] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumcount-a-sel4] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumcount-key1-a] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'a' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumcount-key1-c] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'c' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[cumcount-key1-d] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'd' @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[cumcount-key1-sel3] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[cumcount-key1-sel4] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/dask_expr/tests/test_groupby.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_series_groupby_cumfunc_with_named_index[cumsum-1] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1459: in _layer for i in range(1, self.frame.npartitions): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_series_groupby_cumfunc_with_named_index[cumsum-2] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_series_groupby_cumfunc_with_named_index[cumprod-1] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1459: in _layer for i in range(1, self.frame.npartitions): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_series_groupby_cumfunc_with_named_index[cumprod-2] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_series_groupby_cumfunc_with_named_index[cumcount-1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1459: in _layer for i in range(1, self.frame.npartitions): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_series_groupby_cumfunc_with_named_index[cumcount-2] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_dataframe_groupby_agg_custom_sum _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_dataframe_groupby_agg_custom_sum(): pandas_spec = {"b": "sum"} dask_spec = {"b": Aggregation("sum", lambda s: s.sum(), lambda s0: s0.sum())} df = pd.DataFrame({"g": [0, 0, 1] * 3, "b": [1, 2, 3] * 3}) ddf = from_pandas(df, npartitions=2) expected = df.groupby("g").aggregate(pandas_spec) result = ddf.groupby("g").aggregate(dask_spec) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:957: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: b npartitions=1 int64 ... Dask Nam...regation(frame=df, arg={'b': }, observed=False) b = b g 0 9 1 9, serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: b npartitions=1 int64 ... Dask Nam...regation(frame=df, arg={'b': }, observed=False) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8915010> E when serializing dict item 'chunk' E when serializing dask.dataframe.dask_expr._groupby.Aggregation state E when serializing dask.dataframe.dask_expr._groupby.Aggregation object E when serializing dict item 'b' E when serializing dict item 'arg' E when serializing tuple item 3 E when serializing dict item ('decomposablegroupbyaggregation-tree-061831fd96ff23fe50aa8a797611f557', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________ test_groupby_getitem_apply_group_keys _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_groupby_getitem_apply_group_keys(): pdf = pd.DataFrame( { "A": [0, 1] * 4, "B": [1] * 8, } ) df = from_pandas(pdf, npartitions=4) result = df.groupby("A", group_keys=False).B.apply(lambda x: x, meta=("B", int)) expected = pdf.groupby("A", group_keys=False).B.apply(lambda x: x) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_groupby.py:1072: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask Series Structure: npartitions=4 int64 ... ... ... ... Dask Name: groupbyapply, 3 expr...t_groupby_getitem_apply_group_keys.. at 0x7f5bb91ea820>, meta=('B', ), args=(), kwargs={}) b = 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 Name: B, dtype: int64 serialize_graph = True, args = (), kwargs = {} obj = Dask Series Structure: npartitions=4 int64 ... ... ... ... Dask Name: groupbyapply, 3 expr...t_groupby_getitem_apply_group_keys.. at 0x7f5bb91ea820>, meta=('B', ), args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb91ea820> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-567080334b4e321c52d43a54e6c613eb', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_map_partitions_merge[True] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 opt = True @pytest.mark.parametrize("opt", [True, False]) def test_map_partitions_merge(opt): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 2) pdf2 = pd.DataFrame({"x": range(0, 20, 2), "z": range(10)}) df2 = from_pandas(pdf2, 1) # Partition-wise merge with map_partitions df3 = df1.map_partitions( lambda l, r: l.merge(r, on="x"), df2, enforce_metadata=False, clear_divisions=True, ) # Check result with/without fusion expect = pdf1.merge(pdf2, on="x") df3 = (df3.optimize() if opt else df3)[list(expect.columns)] > assert_eq(df3, expect, check_index=False) dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=2 int64 ... ... ... ... ... Dask Name: getitem, 4 expressions Expr=MapPartitions(lambda)[['x', 'y', 'z']] b = x y z 0 0 0 0 1 2 2 1 2 4 4 2 3 6 6 3 4 8 8 4 5 10 10 5 6 12 12 6 7 14 14 7 8 16 16 8 9 18 18 9 serialize_graph = True, args = (), kwargs = {'check_index': False} obj = Dask DataFrame Structure: x y z npartitions=2 int64 ... ... ... ... ... Dask Name: getitem, 4 expressions Expr=MapPartitions(lambda)[['x', 'y', 'z']] def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8b8e140> E when serializing tuple item 6 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('lambda-76b9eba43b39d92cedd3e445c7f4b118', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_map_partitions_merge[False] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 opt = False @pytest.mark.parametrize("opt", [True, False]) def test_map_partitions_merge(opt): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 2) pdf2 = pd.DataFrame({"x": range(0, 20, 2), "z": range(10)}) df2 = from_pandas(pdf2, 1) # Partition-wise merge with map_partitions df3 = df1.map_partitions( lambda l, r: l.merge(r, on="x"), df2, enforce_metadata=False, clear_divisions=True, ) # Check result with/without fusion expect = pdf1.merge(pdf2, on="x") df3 = (df3.optimize() if opt else df3)[list(expect.columns)] > assert_eq(df3, expect, check_index=False) dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:68: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=2 int64 ... ... ... ... ... Dask Name: getitem, 4 expressions Expr=MapPartitions(lambda)[['x', 'y', 'z']] b = x y z 0 0 0 0 1 2 2 1 2 4 4 2 3 6 6 3 4 8 8 4 5 10 10 5 6 12 12 6 7 14 14 7 8 16 16 8 9 18 18 9 serialize_graph = True, args = (), kwargs = {'check_index': False} obj = Dask DataFrame Structure: x y z npartitions=2 int64 ... ... ... ... ... Dask Name: getitem, 4 expressions Expr=MapPartitions(lambda)[['x', 'y', 'z']] def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8b8e140> E when serializing tuple item 6 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('lambda-76b9eba43b39d92cedd3e445c7f4b118', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________________ test_map_overlap_provide_meta _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_map_overlap_provide_meta(): df = pd.DataFrame( {"x": [1, 2, 4, 7, 11], "y": [1.0, 2.0, 3.0, 4.0, 5.0]} ).rename_axis("myindex") ddf = from_pandas(df, npartitions=2) # Provide meta spec, but not full metadata res = ddf.map_overlap( lambda df: df.rolling(2).sum(), 2, 0, meta={"x": "i8", "y": "i8"} ) sol = df.rolling(2).sum() > assert_eq(res, sol) dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:185: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y npartitions=2 0 int64 int64 3 ... ... 4 ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) b = x y myindex 0 NaN NaN 1 3.0 3.0 2 6.0 5.0 3 11.0 7.0 4 18.0 9.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y npartitions=2 0 int64 int64 3 ... ... 4 ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8b8fcc0> E when serializing tuple item 1 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-d178b1a7c08d02c379a0b70c00daf87f', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________ test_map_partitions_propagates_index_metadata _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_map_partitions_propagates_index_metadata(): index = pd.Series(list("abcde"), name="myindex") df = pd.DataFrame( {"A": np.arange(5, dtype=np.int32), "B": np.arange(10, 15, dtype=np.int32)}, index=index, ) ddf = from_pandas(df, npartitions=2) res = ddf.map_partitions( lambda df: df.assign(C=df.A + df.B), meta=[("A", "i4"), ("B", "i4"), ("C", "i4")], ) sol = df.assign(C=df.A + df.B) > assert_eq(res, sol) dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py:334: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: A B C npartitions=2 a int32 ... ... ... ... e ... ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) b = A B C myindex a 0 10 10 b 1 11 12 c 2 12 14 d 3 13 16 e 4 14 18 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: A B C npartitions=2 a int32 ... ... ... ... e ... ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8b8fb60> E when serializing dict item '_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('lambda-d4994b077ce392b73c2078cccd30e6fa', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________________ test_join[tasks-right] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join(df2, on="x", how=how, shuffle_method=shuffle_method) dask/dataframe/dask_expr/tests/test_merge.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[tasks-outer] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join(df2, on="x", how=how, shuffle_method=shuffle_method) dask/dataframe/dask_expr/tests/test_merge.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[disk-right] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join(df2, on="x", how=how, shuffle_method=shuffle_method) dask/dataframe/dask_expr/tests/test_merge.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[disk-outer] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join(df2, on="x", how=how, shuffle_method=shuffle_method) dask/dataframe/dask_expr/tests/test_merge.py:139: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_singleton_divisions ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_singleton_divisions(): df = pd.DataFrame({"x": [1, 1, 1]}, index=[1, 2, 3]) ddf = from_pandas(df, npartitions=2) ddf2 = ddf.set_index("x") joined = ddf2.join(ddf2, rsuffix="r") assert joined.divisions == (1, 1) > joined.compute() dask/dataframe/dask_expr/tests/test_merge.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_merge_combine_similar[2-3] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions_left = 2, npartitions_right = 3 @pytest.mark.parametrize("npartitions_left, npartitions_right", [(2, 3), (1, 1)]) def test_merge_combine_similar(npartitions_left, npartitions_right): pdf = pd.DataFrame( { "a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "b": 1, "c": 1, "d": 1, "e": 1, "f": 1, } ) pdf2 = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "x": 1}) df = from_pandas(pdf, npartitions=npartitions_left) df2 = from_pandas(pdf2, npartitions=npartitions_right) query = df.merge(df2) > query["new"] = query.b + query.c dask/dataframe/dask_expr/tests/test_merge.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c, d, e, f, x] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_merge_combine_similar[1-1] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions_left = 1, npartitions_right = 1 @pytest.mark.parametrize("npartitions_left, npartitions_right", [(2, 3), (1, 1)]) def test_merge_combine_similar(npartitions_left, npartitions_right): pdf = pd.DataFrame( { "a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "b": 1, "c": 1, "d": 1, "e": 1, "f": 1, } ) pdf2 = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "x": 1}) df = from_pandas(pdf, npartitions=npartitions_left) df2 = from_pandas(pdf2, npartitions=npartitions_right) query = df.merge(df2) > query["new"] = query.b + query.c dask/dataframe/dask_expr/tests/test_merge.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c, d, e, f, x] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_merge_combine_similar_intermediate_projections ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_merge_combine_similar_intermediate_projections(): pdf = pd.DataFrame( { "a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "b": 1, "c": 1, } ) pdf2 = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "x": 1}) pdf3 = pd.DataFrame({"d": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "e": 1, "y": 1}) df = from_pandas(pdf, npartitions=2) df2 = from_pandas(pdf2, npartitions=3) df3 = from_pandas(pdf3, npartitions=3) q = df.merge(df2).merge(df3, left_on="b", right_on="d")[["b", "x", "y"]] > q["new"] = q.b + q.x dask/dataframe/dask_expr/tests/test_merge.py:271: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b, x, y] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts(): df1 = pd.DataFrame({"A": pd.Categorical([0, 1]), "B": pd.Categorical(["a", "b"])}) df2 = pd.DataFrame({"C": pd.Categorical(["a", "b"])}) > expected = pd.merge(df2, df1, left_index=True, right_on="A") dask/dataframe/dask_expr/tests/test_merge.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:170: in merge op = _MergeOperation( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:807: in __init__ self._maybe_coerce_merge_keys() /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1552: in _maybe_coerce_merge_keys self.right[name] = self.right[name].astype(typ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B 0 0 a 1 1 b, key = 'A' value = 0 0 1 1 Name: A, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_merge_empty_left_df[right] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(how): left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = from_pandas(left, npartitions=4) dd_right = from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/dask_expr/tests/test_merge.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11 1 NaN NaN 12 2 NaN NaN 13 3 NaN NaN 14 key = 'a', value = 0 0 1 0 2 3 3 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_merge_empty_left_df[outer] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(how): left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = from_pandas(left, npartitions=4) dd_right = from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/dask_expr/tests/test_merge.py:523: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11.0 1 NaN NaN 12.0 2 1.0 5.0 NaN 3 1.0 6.0 NaN 4 2.0 7.0 NaN 5 2.0 8.0 NaN 6 NaN NaN 13.0 7 NaN NaN 14.0 key = 'a' value = 0 0 1 0 2 1 3 1 4 2 5 2 6 3 7 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes1[True-inner] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes1(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = from_pandas(df1, 2) # merge column "A" is float b = from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/dask_expr/tests/test_merge.py:592: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes1[True-outer] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes1(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = from_pandas(df1, 2) # merge column "A" is float b = from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/dask_expr/tests/test_merge.py:592: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes1[True-left] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes1(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = from_pandas(df1, 2) # merge column "A" is float b = from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/dask_expr/tests/test_merge.py:592: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes1[True-right] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes1(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = from_pandas(df1, 2) # merge column "A" is float b = from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/dask_expr/tests/test_merge.py:592: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_avoid_overeager_filter_pushdown __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_merge_avoid_overeager_filter_pushdown(): df = pd.DataFrame({"a": [1, 2, 3], "b": 1}) ddf = from_pandas(df, npartitions=2) df2 = pd.DataFrame({"a": [2, 3, 4], "c": 1}) ddf2 = from_pandas(df2, npartitions=2) merged = ddf.merge(ddf2, on="a", how="left") rhs = merged.c.sum() > q = merged[merged.a > 1].assign(c=rhs) dask/dataframe/dask_expr/tests/test_merge.py:836: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = 'c' value = np.int64(1) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_mismatching_meta _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_mismatching_meta(): df1 = from_pandas(pd.DataFrame({"value": [1, 2, 3]})) def creator(i): return pd.DataFrame( {"value2": [1, 2, 3]}, index=pd.Index([1, 2, 3], name="index") ) df2 = from_delayed( [delayed(creator)(i) for i in range(3)], meta=pd.DataFrame({"value2": [1, 2, 3]}), ) result = df1.join(df2) > assert_eq(result, df1.compute().join(df2.compute()), check_index=False) dask/dataframe/dask_expr/tests/test_merge.py:1072: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: value value2 npartitions=3 int64 int64 ... ... ... ... ... ... ... Dask Name: merge, 4 expressions Expr=Merge(bb43fe3) b = value value2 0 1 NaN 1 2 1.0 1 2 1.0 1 2 1.0 2 3 2.0 2 3 2.0 2 3 2.0 serialize_graph = True, args = (), kwargs = {'check_index': False} obj = Dask DataFrame Structure: value value2 npartitions=3 int64 int64 ... ... ... ... ... ... ... Dask Name: merge, 4 expressions Expr=Merge(bb43fe3) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .creator at 0x7f5bd80e3ab0> E when serializing tuple item 6 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item 'creator-5f5d7c48-5c8f-49e5-bf23-5d7fcc363d0d' ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________________ test_avoid_shuffle_when_possible[6] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = at 0x7f5bf4f6c9e0> @pytest.mark.parametrize( "func", [ lambda x: x["a"], lambda x: x[x.a > 5], lambda x: x.drop(columns=["a"]), lambda x: x.drop_duplicates(), lambda x: x.dropna(), lambda x: x.rename(columns={"a": "x"}), lambda x: x.assign(z=x.a + x.b), lambda x: x.assign(b=x.a + x.b), ], ) def test_avoid_shuffle_when_possible(func): pdf = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6] * 100, "b": 1, "c": 2}) df = from_pandas(pdf, npartitions=4) q = df.groupby("a").sum(split_out=True).reset_index() > q = func(q) dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py:83: in lambda x: x.assign(z=x.a + x.b), ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = 'z' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_avoid_shuffle_when_possible[7] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = at 0x7f5bf4f6ca90> @pytest.mark.parametrize( "func", [ lambda x: x["a"], lambda x: x[x.a > 5], lambda x: x.drop(columns=["a"]), lambda x: x.drop_duplicates(), lambda x: x.dropna(), lambda x: x.rename(columns={"a": "x"}), lambda x: x.assign(z=x.a + x.b), lambda x: x.assign(b=x.a + x.b), ], ) def test_avoid_shuffle_when_possible(func): pdf = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6] * 100, "b": 1, "c": 2}) df = from_pandas(pdf, npartitions=4) q = df.groupby("a").sum(split_out=True).reset_index() > q = func(q) dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py:84: in lambda x: x.assign(b=x.a + x.b), ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = 'b' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_reduction_method _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_reduction_method(): df = pd.DataFrame({"x": range(50), "y": range(50, 100)}) ddf = from_pandas(df, npartitions=4) chunk = lambda x, val=0: (x >= val).sum() agg = lambda x: x.sum() # Output of chunk is a scalar res = ddf.x.reduction(chunk, aggregate=agg) > assert_eq(res, df.x.count()) dask/dataframe/dask_expr/tests/test_reductions.py:450: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = , chunk_kwargs={'func': }, combine_kwargs={'func': . at 0x7f5bb8968d50>}), dtype=int64> b = np.int64(50), serialize_graph = True, args = (), kwargs = {} obj = , chunk_kwargs={'func': }, combine_kwargs={'func': . at 0x7f5bb8968d50>}), dtype=int64> def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8968d50> E when serializing dict item 'func' E when serializing tuple item 3 E when serializing dict item ('customreduction-tree-fde7fcc6d70aeeb4450629b0f4e9ff12', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_reduction_split_every_false _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_reduction_split_every_false(): pdf = pd.DataFrame({"a": [1]}) df = from_pandas(pdf, npartitions=1) result = df.reduction(chunk=lambda x: x, split_every=False) > assert_eq(result, pdf) dask/dataframe/dask_expr/tests/test_reductions.py:529: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: a npartitions=1 int64 ... Dask Nam...ne_kwargs={'func': . at 0x7f5bb89685c0>}, split_every=False) b = a 0 1, serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: a npartitions=1 int64 ... Dask Nam...ne_kwargs={'func': . at 0x7f5bb89685c0>}, split_every=False) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb89685c0> E when serializing dict item 'func' E when serializing tuple item 3 E when serializing dict item ('customreduction-tree-37b8edea357b8be5a12cd00e55800e04', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________ test_cat_value_counts_large_unknown_categories ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_cat_value_counts_large_unknown_categories(): pdf = pd.DataFrame({"x": np.random.randint(1, 1_000_000, (250_000,))}) df = from_pandas(pdf, npartitions=50) > df["x"] = df["x"].astype("category") dask/dataframe/dask_expr/tests/test_reductions.py:544: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_repartition_combine_similar[kwargs0] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 kwargs = {'npartitions': 2} @pytest.mark.parametrize( "kwargs", [ {"npartitions": 2}, {"npartitions": 4}, {"divisions": (0, 1, 79)}, {"partition_size": "1kb"}, ], ) def test_repartition_combine_similar(kwargs): pdf = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6, 7, 8] * 10, "y": 1, "z": 2}) df = from_pandas(pdf, npartitions=3) query = df.repartition(**kwargs) > query["new"] = query.x + query.y dask/dataframe/dask_expr/tests/test_repartition.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_repartition_combine_similar[kwargs1] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 kwargs = {'npartitions': 4} @pytest.mark.parametrize( "kwargs", [ {"npartitions": 2}, {"npartitions": 4}, {"divisions": (0, 1, 79)}, {"partition_size": "1kb"}, ], ) def test_repartition_combine_similar(kwargs): pdf = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6, 7, 8] * 10, "y": 1, "z": 2}) df = from_pandas(pdf, npartitions=3) query = df.repartition(**kwargs) > query["new"] = query.x + query.y dask/dataframe/dask_expr/tests/test_repartition.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_repartition_combine_similar[kwargs2] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 kwargs = {'divisions': (0, 1, 79)} @pytest.mark.parametrize( "kwargs", [ {"npartitions": 2}, {"npartitions": 4}, {"divisions": (0, 1, 79)}, {"partition_size": "1kb"}, ], ) def test_repartition_combine_similar(kwargs): pdf = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6, 7, 8] * 10, "y": 1, "z": 2}) df = from_pandas(pdf, npartitions=3) query = df.repartition(**kwargs) > query["new"] = query.x + query.y dask/dataframe/dask_expr/tests/test_repartition.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_repartition_combine_similar[kwargs3] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 kwargs = {'partition_size': '1kb'} @pytest.mark.parametrize( "kwargs", [ {"npartitions": 2}, {"npartitions": 4}, {"divisions": (0, 1, 79)}, {"partition_size": "1kb"}, ], ) def test_repartition_combine_similar(kwargs): pdf = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6, 7, 8] * 10, "y": 1, "z": 2}) df = from_pandas(pdf, npartitions=3) query = df.repartition(**kwargs) > query["new"] = query.x + query.y dask/dataframe/dask_expr/tests/test_repartition.py:25: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_pivot_table[first] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z a npartitions=3 ... ... ... ... 5 ... ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z a 0 1 4 4 1 1 2 5 15 1 2 3 8 8 1 3 4 6 16 1 4 5 1 1 1 5 6 4 14 1 aggfunc = 'first' @pytest.mark.parametrize("aggfunc", ["first", "last", "sum", "mean", "count"]) def test_pivot_table(df, pdf, aggfunc): assert_eq( df.pivot_table(index="x", columns="y", values="z", aggfunc=aggfunc), pdf.pivot_table( index="x", columns="y", values="z", aggfunc=aggfunc, observed=False ), check_dtype=aggfunc != "count", ) assert_eq( df.pivot_table(index="x", columns="y", values=["z", "a"], aggfunc=aggfunc), pdf.pivot_table( index="x", columns="y", values=["z", "a"], aggfunc=aggfunc, observed=False ), check_dtype=aggfunc != "count", ) assert_eq( > pivot_table(df, index="x", columns="y", values=["z", "a"], aggfunc=aggfunc), pdf.pivot_table( index="x", columns="y", values=["z", "a"], aggfunc=aggfunc, observed=False ), check_dtype=aggfunc != "count", ) dask/dataframe/dask_expr/tests/test_reshape.py:49: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:6039: in pivot_table return new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_reductions.py:699: in _meta meta[value_col] = meta[value_col].astype( /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4301: in __setitem__ self._set_item_frame_value(key, value) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4441: in _set_item_frame_value self[col] = value[col_droplevel] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [(a, 1), (a, 4), (a, 5), (a, 6), (a, 8), (z, 1), (z, 4), (z, 5), (z, 6), (z, 8)] Index: [] key = ('z', 4), value = Series([], Name: 4, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_pivot_table[last] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z a npartitions=3 ... ... ... ... 5 ... ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z a 0 1 4 4 1 1 2 5 15 1 2 3 8 8 1 3 4 6 16 1 4 5 1 1 1 5 6 4 14 1 aggfunc = 'last' @pytest.mark.parametrize("aggfunc", ["first", "last", "sum", "mean", "count"]) def test_pivot_table(df, pdf, aggfunc): assert_eq( df.pivot_table(index="x", columns="y", values="z", aggfunc=aggfunc), pdf.pivot_table( index="x", columns="y", values="z", aggfunc=aggfunc, observed=False ), check_dtype=aggfunc != "count", ) assert_eq( > df.pivot_table(index="x", columns="y", values=["z", "a"], aggfunc=aggfunc), pdf.pivot_table( index="x", columns="y", values=["z", "a"], aggfunc=aggfunc, observed=False ), check_dtype=aggfunc != "count", ) dask/dataframe/dask_expr/tests/test_reshape.py:41: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3703: in pivot_table return pivot_table(self, index, columns, values, aggfunc) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:6039: in pivot_table return new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_reductions.py:699: in _meta meta[value_col] = meta[value_col].astype( /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4301: in __setitem__ self._set_item_frame_value(key, value) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4441: in _set_item_frame_value self[col] = value[col_droplevel] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [(a, 1), (a, 4), (a, 5), (a, 6), (a, 8), (z, 1), (z, 4), (z, 5), (z, 6), (z, 8)] Index: [] key = ('z', 4), value = Series([], Name: 4, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_pivot_table_fails ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z a npartitions=3 ... ... ... ... 5 ... ... ... ... Dask Name: frompandas, 1 expression Expr=df def test_pivot_table_fails(df): with pytest.raises(ValueError, match="must be the name of an existing column"): df.pivot_table(index="aaa", columns="y", values="z") with pytest.raises(ValueError, match="must be the name of an existing column"): df.pivot_table(index=["a"], columns="y", values="z") with pytest.raises(ValueError, match="must be the name of an existing column"): df.pivot_table(index="a", columns="xxx", values="z") with pytest.raises(ValueError, match="must be the name of an existing column"): df.pivot_table(index="a", columns=["x"], values="z") with pytest.raises(ValueError, match="'columns' must be category dtype"): df.pivot_table(index="a", columns="x", values="z") df2 = df.copy() > df2["y"] = df2.y.cat.as_unknown() dask/dataframe/dask_expr/tests/test_reshape.py:72: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z, a] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_rolling_agg[1-1] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) def test_rolling_agg(df, pdf, window): def my_sum(vals, foo=None, *, bar=None): return vals.sum() result = df.rolling(window).agg(my_sum, "foo", bar="bar") expected = pdf.rolling(window).agg(my_sum, "foo", bar="bar") > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafefb0>, 'foo'), how_kwargs={'bar': 'bar'}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafefb0>, 'foo'), how_kwargs={'bar': 'bar'}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafefb0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-2d3acd409b98e0291e2c9ab237abd7b9', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________________ test_rolling_agg[1-2] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) def test_rolling_agg(df, pdf, window): def my_sum(vals, foo=None, *, bar=None): return vals.sum() result = df.rolling(window).agg(my_sum, "foo", bar="bar") expected = pdf.rolling(window).agg(my_sum, "foo", bar="bar") > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafe610>, 'foo'), how_kwargs={'bar': 'bar'}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafe610>, 'foo'), how_kwargs={'bar': 'bar'}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafe610> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-72c45fb96f5fa9033fcccd14f359652f', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________________ test_rolling_agg[2-1] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) def test_rolling_agg(df, pdf, window): def my_sum(vals, foo=None, *, bar=None): return vals.sum() result = df.rolling(window).agg(my_sum, "foo", bar="bar") expected = pdf.rolling(window).agg(my_sum, "foo", bar="bar") > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafd900>, 'foo'), how_kwargs={'bar': 'bar'}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafd900>, 'foo'), how_kwargs={'bar': 'bar'}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafd900> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-caa436b8089057a8f65b1d32b851fdf0', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________________ test_rolling_agg[2-2] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) def test_rolling_agg(df, pdf, window): def my_sum(vals, foo=None, *, bar=None): return vals.sum() result = df.rolling(window).agg(my_sum, "foo", bar="bar") expected = pdf.rolling(window).agg(my_sum, "foo", bar="bar") > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafe400>, 'foo'), how_kwargs={'bar': 'bar'}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...pe': None}, how_args=(.my_sum at 0x7f5babafe400>, 'foo'), how_kwargs={'bar': 'bar'}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafe400> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-9d29e08a4f843764f3b0dc23c5c58b93', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_rolling_apply[2-1-True-1-1] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babafc1a0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babafc1a0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafc1a0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-166110342713781e47d59fdb1f385c98', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_rolling_apply[2-1-True-1-2] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaffed0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaffed0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babaffed0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-26c80b362f5f44166ec4340404298b5a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_rolling_apply[2-1-True-2-1] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaff8a0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaff8a0>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babaff8a0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-41ceaef7ce49c1842b01874fd9789d7f', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________ test_rolling_apply[2-1-True-2-2] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaff690>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...test_rolling_apply..my_sum at 0x7f5babaff690>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babaff690> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-16ff5053822778e61ff4f98ab6d28598', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ______________________ test_rolling_apply[2-1-False-1-1] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5bb89dd9b0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5bb89dd9b0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5bb89dd9b0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-18882178daecc616a0a23fecfd0bb22a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ______________________ test_rolling_apply[2-1-False-1-2] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c300>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c300>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2c300> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-37b918886750a20dc2978b612aa3a596', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ______________________ test_rolling_apply[2-1-False-2-1] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c040>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c040>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2c040> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-e8742a23cd4536cf2eb4f452cb59bb0b', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ______________________ test_rolling_apply[2-1-False-2-2] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = 1, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c670>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...est_rolling_apply..my_sum at 0x7f5babb2c670>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2c670> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-cc787228e41e72b0011c87f5d2d1e8fa', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-True-1-1] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2c880>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2c880>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2c880> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-a14ebeabbd63113624d919882a01507f', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-True-1-2] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2ca90>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2ca90>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2ca90> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-cfc58d2d1c28f1cad031b3e400146040', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-True-2-1] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2cca0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2cca0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2cca0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-4ae8d7f349151df6f4f851eeb795b0b0', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-True-2-2] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2ceb0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2ceb0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2ceb0> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-9c573707bdc56fe18e665ff24db78bdf', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-False-1-1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d0c0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d0c0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d0c0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-ba5cc92c12bef659031336a4e8242db7', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-False-1-2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d2d0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d2d0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d2d0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-bbe3001785dc9886f6c7c17306a98532', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-False-2-1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d4e0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d4e0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d4e0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-b3442bf4f9b3bc4db420e8236bcb53ab', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[2-None-False-2-2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = None, bar = 2 @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d6f0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d6f0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': 2}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d6f0> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-846380148274fb4c50f901b91360408c', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-True-1-1] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2d900>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2d900>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d900> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-5f6bddb32d7918da8de307f854a80dfb', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-True-1-2] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2db10>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2db10>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2db10> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-6d30bfb05cd5b101792f111324b5e6eb', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-True-2-1] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2e090>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2e090>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2e090> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-4fc6a0728d09712e8706968f0d9d6f84', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-True-2-2] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2e350>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...t_rolling_apply..my_sum at 0x7f5babb2e350>,), how_kwargs={'raw': True, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2e350> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-57dea7e1c1e398d790805f0ebefc885c', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-False-1-1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d380>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2d380>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2d380> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-8b061141f80f5b6e20d59f76c70067c8', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-False-1-2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e4b0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e4b0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2e4b0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-40c3b9521bcb1590b7866e5e672dd9c2', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-False-2-1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e6c0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e6c0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2e6c0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-b40bcf192c3b026d18368a64ba0aeda2', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________ test_rolling_apply[None-1-False-2-2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = 1, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e8d0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00..._rolling_apply..my_sum at 0x7f5babb2e8d0>,), how_kwargs={'raw': False, 'args': (1,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2e8d0> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-487373152360878548f641fbe1da4891', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________ test_rolling_apply[None-None-True-1-1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2eae0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2eae0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2eae0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-848348b673bd501b152e1296b3b3744b', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________ test_rolling_apply[None-None-True-1-2] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2ecf0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2ecf0>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2ecf0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-dd7a7a54d2feb4ca83d5a592f4ae1270', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________ test_rolling_apply[None-None-True-2-1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = True, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2ef00>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2ef00>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2ef00> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-2f742b3cd749e1e5cee385d8a5185c7d', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________ test_rolling_apply[None-None-True-2-2] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = True, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2f110>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...olling_apply..my_sum at 0x7f5babb2f110>,), how_kwargs={'raw': True, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babb2f110> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-79e4fbc8728ac5acab45533239b6bb18', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________ test_rolling_apply[None-None-False-1-1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...lling_apply..my_sum at 0x7f5babafcd50>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...lling_apply..my_sum at 0x7f5babafcd50>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babafcd50> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-50eb349946cb5bd8d54481417bed4eea', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________ test_rolling_apply[None-None-False-1-2] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00:00 int64 int64 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...lling_apply..my_sum at 0x7f5babf203b0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=1 2000-01-01 00:00...lling_apply..my_sum at 0x7f5babf203b0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5babf203b0> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-d06dc7ba18a703299aef39df7319a577', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________ test_rolling_apply[None-None-False-2-1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 1, raw = False, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...lling_apply..my_sum at 0x7f5bd80e2820>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 0.0 1.0 2000-01-01 00:01:00 1.0 1.0 2000-01-01 00:02:00 2.0...-01-01 00:08:00 8.0 1.0 2000-01-01 00:09:00 9.0 1.0 2000-01-01 00:10:00 10.0 1.0 2000-01-01 00:11:00 11.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...lling_apply..my_sum at 0x7f5bd80e2820>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5bd80e2820> E when serializing list item 0 E when serializing tuple item 4 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_rolling_agg-90d911254c2ba9bac1e9341a60ff98aa', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________ test_rolling_apply[None-None-False-2-2] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00:00 int64 int64 2000-01-01 00:06:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 window = 2, raw = False, foo = None, bar = None @pytest.mark.parametrize("window", (1, 2)) @pytest.mark.parametrize("df", (1, 2), indirect=True) @pytest.mark.parametrize("raw", (True, False)) @pytest.mark.parametrize("foo", (1, None)) @pytest.mark.parametrize("bar", (2, None)) def test_rolling_apply(df, pdf, window, raw, foo, bar): def my_sum(vals, foo_=None, *, bar_=None): assert foo_ == foo assert bar_ == bar if raw: assert isinstance(vals, np.ndarray) else: assert isinstance(vals, pd.Series) return vals.sum() kwargs = dict(raw=raw, args=(foo,), kwargs=dict(bar_=bar)) result = df.rolling(window).apply(my_sum, **kwargs) expected = pdf.rolling(window).apply(my_sum, **kwargs) > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...lling_apply..my_sum at 0x7f5bb89694e0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) b = foo bar 2000-01-01 00:00:00 NaN NaN 2000-01-01 00:01:00 1.0 2.0 2000-01-01 00:02:00 3.0...-01-01 00:08:00 15.0 2.0 2000-01-01 00:09:00 17.0 2.0 2000-01-01 00:10:00 19.0 2.0 2000-01-01 00:11:00 21.0 2.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=2 2000-01-01 00:00...lling_apply..my_sum at 0x7f5bb89694e0>,), how_kwargs={'raw': False, 'args': (None,), 'kwargs': {'bar_': None}}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5bb89694e0> E when serializing tuple item 0 E when serializing dict item 'how_args' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-9614e4ae5da0582e270a1e51e4f3873a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________________ test_rolling_one_element_window_empty_after __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=3 2000-01-01 00:00:00 int... ... 2000-01-01 00:00:16 ... ... 2000-01-01 00:00:22 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:00:02 1 1 2000-01-01 00:00:04 2 ...2000-01-01 00:00:16 8 1 2000-01-01 00:00:18 9 1 2000-01-01 00:00:20 10 1 2000-01-01 00:00:22 11 1 def test_rolling_one_element_window_empty_after(df, pdf): pdf.index = pd.date_range("2000-01-01", periods=12, freq="2s") df = from_pandas(pdf, npartitions=3) result = df.map_overlap(lambda x: x.rolling("1s").count(), before="1s", after="1s") expected = pdf.rolling("1s").count() > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_rolling.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=3 2000-01-01 00:00...:16 ... ... 2000-01-01 00:00:22 ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) b = foo bar 2000-01-01 00:00:00 1.0 1.0 2000-01-01 00:00:02 1.0 1.0 2000-01-01 00:00:04 1.0 1....2000-01-01 00:00:16 1.0 1.0 2000-01-01 00:00:18 1.0 1.0 2000-01-01 00:00:20 1.0 1.0 2000-01-01 00:00:22 1.0 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=3 2000-01-01 00:00...:16 ... ... 2000-01-01 00:00:22 ... ... Dask Name: lambda, 2 expressions Expr=MapPartitions(lambda) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7f5bb8969c70> E when serializing tuple item 1 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_overlap_chunk-a0b126fa230dbcfaf93dcd3321694b1f', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________________ test_task_shuffle_index[32-3] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3, max_branch = 32 pdf = y x 0 0 1 1 2 2 3 3 4 4 .. .. 15 95 16 96 17 97 18 98 19 99 [100 rows x 1 columns] @pytest.mark.parametrize("npartitions", [3, 12]) @pytest.mark.parametrize("max_branch", [32, 8]) def test_task_shuffle_index(npartitions, max_branch, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, 10) df2 = df.shuffle( "x", shuffle_method="tasks", npartitions=npartitions, max_branch=max_branch, ) # Check that the output partition count is correct assert df2.npartitions == (npartitions or df.npartitions) # Check the computed (re-ordered) result > assert_eq(df, df2, check_divisions=False) dask/dataframe/dask_expr/tests/test_shuffle.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_task_shuffle_index[32-12] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 12, max_branch = 32 pdf = y x 0 0 1 1 2 2 3 3 4 4 .. .. 15 95 16 96 17 97 18 98 19 99 [100 rows x 1 columns] @pytest.mark.parametrize("npartitions", [3, 12]) @pytest.mark.parametrize("max_branch", [32, 8]) def test_task_shuffle_index(npartitions, max_branch, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, 10) df2 = df.shuffle( "x", shuffle_method="tasks", npartitions=npartitions, max_branch=max_branch, ) # Check that the output partition count is correct assert df2.npartitions == (npartitions or df.npartitions) # Check the computed (re-ordered) result > assert_eq(df, df2, check_divisions=False) dask/dataframe/dask_expr/tests/test_shuffle.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_task_shuffle_index[8-3] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3, max_branch = 8 pdf = y x 0 0 1 1 2 2 3 3 4 4 .. .. 15 95 16 96 17 97 18 98 19 99 [100 rows x 1 columns] @pytest.mark.parametrize("npartitions", [3, 12]) @pytest.mark.parametrize("max_branch", [32, 8]) def test_task_shuffle_index(npartitions, max_branch, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, 10) df2 = df.shuffle( "x", shuffle_method="tasks", npartitions=npartitions, max_branch=max_branch, ) # Check that the output partition count is correct assert df2.npartitions == (npartitions or df.npartitions) # Check the computed (re-ordered) result > assert_eq(df, df2, check_divisions=False) dask/dataframe/dask_expr/tests/test_shuffle.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_task_shuffle_index[8-12] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 12, max_branch = 8 pdf = y x 0 0 1 1 2 2 3 3 4 4 .. .. 15 95 16 96 17 97 18 98 19 99 [100 rows x 1 columns] @pytest.mark.parametrize("npartitions", [3, 12]) @pytest.mark.parametrize("max_branch", [32, 8]) def test_task_shuffle_index(npartitions, max_branch, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, 10) df2 = df.shuffle( "x", shuffle_method="tasks", npartitions=npartitions, max_branch=max_branch, ) # Check that the output partition count is correct assert df2.npartitions == (npartitions or df.npartitions) # Check the computed (re-ordered) result > assert_eq(df, df2, check_divisions=False) dask/dataframe/dask_expr/tests/test_shuffle.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_sort_values_[10-a-True] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = 'a', ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values_[10-b-False] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = 'b', ascending = False @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values_[10-by2-True] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = ['a', 'b'], ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values_[500-a-True] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = 'a', ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values_[500-b-False] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = 'b', ascending = False @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_sort_values_[500-by2-True] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = ['a', 'b'], ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values_(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:200: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_set_index[1.0-128000000.0] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] upsample = 1.0, partition_size = 128000000.0 @pytest.mark.parametrize("partition_size", [128e6, 128e5]) @pytest.mark.parametrize("upsample", [1.0, 2.0]) def test_set_index(df, pdf, upsample, partition_size): > assert_eq( df.set_index("x", upsample=upsample, partition_size=partition_size), pdf.set_index("x"), ) dask/dataframe/dask_expr/tests/test_shuffle.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index[1.0-12800000.0] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] upsample = 1.0, partition_size = 12800000.0 @pytest.mark.parametrize("partition_size", [128e6, 128e5]) @pytest.mark.parametrize("upsample", [1.0, 2.0]) def test_set_index(df, pdf, upsample, partition_size): > assert_eq( df.set_index("x", upsample=upsample, partition_size=partition_size), pdf.set_index("x"), ) dask/dataframe/dask_expr/tests/test_shuffle.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_set_index[2.0-128000000.0] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] upsample = 2.0, partition_size = 128000000.0 @pytest.mark.parametrize("partition_size", [128e6, 128e5]) @pytest.mark.parametrize("upsample", [1.0, 2.0]) def test_set_index(df, pdf, upsample, partition_size): > assert_eq( df.set_index("x", upsample=upsample, partition_size=partition_size), pdf.set_index("x"), ) dask/dataframe/dask_expr/tests/test_shuffle.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index[2.0-12800000.0] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] upsample = 2.0, partition_size = 12800000.0 @pytest.mark.parametrize("partition_size", [128e6, 128e5]) @pytest.mark.parametrize("upsample", [1.0, 2.0]) def test_set_index(df, pdf, upsample, partition_size): > assert_eq( df.set_index("x", upsample=upsample, partition_size=partition_size), pdf.set_index("x"), ) dask/dataframe/dask_expr/tests/test_shuffle.py:223: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_set_index_sorted _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_sorted(pdf): pdf = pdf.sort_values(by="y", ignore_index=True) > pdf["z"] = pdf["x"] dask/dataframe/dask_expr/tests/test_shuffle.py:238: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] key = 'z' value = 0 0 1 1 2 2 3 3 4 4 .. 95 15 96 16 97 17 98 18 99 19 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_set_index_pre_sorted ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_pre_sorted(pdf): pdf = pdf.sort_values(by="y", ignore_index=True) > pdf["z"] = pdf["x"] dask/dataframe/dask_expr/tests/test_shuffle.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] key = 'z' value = 0 0 1 1 2 2 3 3 4 4 .. 95 15 96 16 97 17 98 18 99 19 Name: x, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[True-True] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 drop = True, append = True @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[True-False] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 drop = False, append = True @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[False-True] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 drop = True, append = False @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_set_index_no_sort[False-False] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 drop = False, append = False @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/dask_expr/tests/test_shuffle.py:287: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_set_index_repartition __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_repartition(df, pdf): result = df.set_index("x", npartitions=2) assert result.npartitions == 2 > assert result.optimize(fuse=False).npartitions == 2 dask/dataframe/dask_expr/tests/test_shuffle.py:301: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_set_index_simplify ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_simplify(df, pdf): > q = df.set_index("x")["y"].optimize(fuse=False) dask/dataframe/dask_expr/tests/test_shuffle.py:306: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index_numeric_columns ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_numeric_columns(): pdf = pd.DataFrame( { 0: list("ABAABBABAA"), 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 2: [1, 2, 3, 2, 1, 3, 2, 4, 2, 3], } ) ddf = from_pandas(pdf, 3) > assert_eq(ddf.set_index(0), pdf.set_index(0)) dask/dataframe/dask_expr/tests/test_shuffle.py:324: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0, 1, 2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_sort_values[None] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] shuffle = None @pytest.mark.parametrize("shuffle", [None, "tasks"]) def test_sort_values(df, pdf, shuffle): > assert_eq(df.sort_values("x", shuffle_method=shuffle), pdf.sort_values("x")) dask/dataframe/dask_expr/tests/test_shuffle.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_sort_values[tasks] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] shuffle = 'tasks' @pytest.mark.parametrize("shuffle", [None, "tasks"]) def test_sort_values(df, pdf, shuffle): > assert_eq(df.sort_values("x", shuffle_method=shuffle), pdf.sort_values("x")) dask/dataframe/dask_expr/tests/test_shuffle.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_sort_values_optimize ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_sort_values_optimize(df, pdf): > q = df.sort_values("x")["y"].optimize(fuse=False) dask/dataframe/dask_expr/tests/test_shuffle.py:381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1283: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_set_index_list ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_list(df, pdf): > assert_eq(df.set_index(["x"]), pdf.set_index(["x"])) dask/dataframe/dask_expr/tests/test_shuffle.py:396: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_sort_values_descending __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_sort_values_descending(df, pdf): > assert_eq( df.sort_values(by="y", ascending=False), pdf.sort_values(by="y", ascending=False), sort_results=False, ) dask/dataframe/dask_expr/tests/test_shuffle.py:400: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_head_nlargest_string ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 a0 1 1 1 a1 2 2 2 a2 3 3 3 a3 4 4 4 a4 .. .. .. ... 95 15 95 a15 96 16 96 a16 97 17 97 a17 98 18 98 a18 99 19 99 a19 [100 rows x 3 columns] @xfail_gpu("cudf udf support") def test_sort_head_nlargest_string(pdf): pdf["z"] = "a" + pdf.x.map(str) df = from_pandas(pdf, npartitions=5) a = df.sort_values("z", ascending=False).head(10, compute=False) > assert_eq(a, pdf.sort_values("z", ascending=False).head(10)) dask/dataframe/dask_expr/tests/test_shuffle.py:515: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:272: in _layer for i in range(self.npartitions) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2584: in npartitions return len(self._divisions()) - 1 ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2587: in _divisions return self.frame.divisions[: len(self._partitions) + 1] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2966: in _divisions divisions.append(self.frame.divisions[part]) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2156: in _divisions if self.ndim == 0: /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_set_index_head_nlargest _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_head_nlargest(df, pdf): a = df.set_index("x").head(10, compute=False) b = new_collection(NFirst(df, 10, _columns="x", ascending=True)).set_index("x") assert a.optimize()._name == b.optimize()._name a = df.set_index("x").tail(10, compute=False) b = new_collection(NLast(df, 10, _columns="x", ascending=True)).set_index("x") assert a.optimize()._name == b.optimize()._name # These still work, even if we haven't optimized them yet > df.set_index(df.x).head(3) dask/dataframe/dask_expr/tests/test_shuffle.py:537: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:690: in head out = out.compute() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_set_index_head_nlargest_string ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 a0 1 1 1 a1 2 2 2 a2 3 3 3 a3 4 4 4 a4 .. .. .. ... 95 15 95 a15 96 16 96 a16 97 17 97 a17 98 18 98 a18 99 19 99 a19 [100 rows x 3 columns] @pytest.mark.skipif( not pyarrow_strings_enabled() or not PANDAS_GE_220, reason="doesn't work without arrow", ) @xfail_gpu("cudf udf support") def test_set_index_head_nlargest_string(pdf): pdf["z"] = "a" + pdf.x.map(str) df = from_pandas(pdf, npartitions=5) print(df.dtypes) a = df.set_index("z").head(10, compute=False) > assert_eq(a, pdf.set_index("z").sort_index().head(10)) dask/dataframe/dask_expr/tests/test_shuffle.py:552: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ----------------------------- Captured stdout call ----------------------------- x int64 y int64 z string[pyarrow] dtype: object _______________________________ test_filter_sort _______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df def test_filter_sort(df): a = df.sort_values("x") a = a[a.y > 40] b = df[df.y > 40] b = b.sort_values("x") > assert a.optimize()._name == b.optimize()._name dask/dataframe/dask_expr/tests/test_shuffle.py:565: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_sort_values_add _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_sort_values_add(): pdf = pd.DataFrame({"x": [1, 2, 3, 0, 1, 2, 4, 5], "y": 1}) df = from_pandas(pdf, npartitions=2, sort=False) with dask.config.set({"dataframe.shuffle.method": "tasks"}): df = df.sort_values("x") > df["z"] = df.x + df.y dask/dataframe/dask_expr/tests/test_shuffle.py:573: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'z' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_set_index_with_dask_dt_index[-16h] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 freq = '-16h' @pytest.mark.parametrize("freq", ["16h", "-16h"]) def test_set_index_with_dask_dt_index(freq): values = { "x": [1, 2, 3, 4] * 3, "y": [10, 20, 30] * 4, "name": ["Alice", "Bob"] * 6, } date_index = pd.date_range( start="2022-02-22", freq=freq, periods=12 ) - pd.Timedelta(seconds=30) df = pd.DataFrame(values, index=date_index) ddf = from_pandas(df, npartitions=3, sort=False) # specify a different date index entirely day_index = ddf.index.dt.floor("D") result = ddf.set_index(day_index) > assert_eq(result, pd.DataFrame(values, index=date_index.floor("D"))) dask/dataframe/dask_expr/tests/test_shuffle.py:608: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1939: in _meta args = [op._meta if isinstance(op, Expr) else op for op in self._args] /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, name] Index: [], key = '_partitions' value = DatetimeIndex([], dtype='datetime64[ns]', freq=None) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_set_index_sort_values_shuffle_options __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_sort_values_shuffle_options(df, pdf): q = df.set_index("x", shuffle_method="tasks", max_branch=10) > shuffle = list(q.optimize().find_operations(TaskShuffle))[0] dask/dataframe/dask_expr/tests/test_shuffle.py:613: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_predicate_pushdown _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = y x 0 0 1 1 2 2 3 3 4 4 .. .. 15 95 16 96 17 97 18 98 19 99 [100 rows x 1 columns] def test_set_index_predicate_pushdown(df, pdf): pdf = pdf.set_index("x") query = df.set_index("x") result = query[query.y > 5] expected = pdf[pdf.y > 5] > assert_eq(result, expected) dask/dataframe/dask_expr/tests/test_shuffle.py:628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_set_index_with_explicit_divisions ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_with_explicit_divisions(): pdf = pd.DataFrame({"x": [4, 1, 2, 5]}, index=[10, 20, 30, 40]) df = from_pandas(pdf, npartitions=2) result = df.set_index("x", divisions=[1, 3, 5]) assert result.divisions == (1, 3, 5) > assert_eq(result, pdf.set_index("x")) dask/dataframe/dask_expr/tests/test_shuffle.py:646: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_npartitions_changes ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_npartitions_changes(pdf): df = from_pandas(pdf, npartitions=30) result = df.set_index("x", shuffle_method="disk") > assert result.npartitions == result.optimize().npartitions dask/dataframe/dask_expr/tests/test_shuffle.py:652: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_empty_partitions _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_empty_partitions(): # See https://github.com/dask/dask/issues/2408 df = pd.DataFrame({"a": list(range(10))}) > df["b"] = df["a"] % 3 dask/dataframe/dask_expr/tests/test_shuffle.py:715: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9, key = 'b' value = 0 0 1 1 2 2 3 0 4 1 5 2 6 0 7 1 8 2 9 0 Name: a, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_set_index_user_divisions_one_partition __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_user_divisions_one_partition(pdf): df = from_pandas(pdf, npartitions=1) result = df.set_index("x", divisions=[0, 10, 20, 21]) > assert_eq(result, pdf.set_index("x")) dask/dataframe/dask_expr/tests/test_shuffle.py:798: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_set_index_divisions_npartitions _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_divisions_npartitions(pdf): df = from_pandas(pdf, npartitions=1, sort=False) result = df.set_index("x", sort=True, npartitions=2) assert result.known_divisions > assert result.optimize().known_divisions dask/dataframe/dask_expr/tests/test_shuffle.py:805: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_sort_values_unordered_categorical ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_sort_values_unordered_categorical(): df = pd.DataFrame() df["a"] = np.arange(10)[::-1] > df["b"] = df["a"].astype("category") dask/dataframe/dask_expr/tests/test_shuffle.py:812: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a 0 9 1 8 2 7 3 6 4 5 5 4 6 3 7 2 8 1 9 0, key = 'b' value = 0 9 1 8 2 7 3 6 4 5 5 4 6 3 7 2 8 1 9 0 Name: a, dtype: category Categories (10, int64): [0, 1, 2, 3, ..., 6, 7, 8, 9] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_set_index_before_assign _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y npartitions=10 0 int64 int64 10 ... ... ... 90 ... ... 99 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_before_assign(df, pdf): result = df.set_index("x") > result["z"] = result.y + 1 dask/dataframe/dask_expr/tests/test_shuffle.py:821: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = 'z' value = Series([], Name: y, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_shuffle_afterwards _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y 0 0 0 1 1 1 2 2 2 3 3 3 4 4 4 .. .. .. 95 15 95 96 16 96 97 17 97 98 18 98 99 19 99 [100 rows x 2 columns] def test_set_index_shuffle_afterwards(pdf): ddf = from_pandas(pdf, npartitions=1) ddf = ddf.set_index("y", sort=True, divisions=[0, 10, 20, 100], shuffle="tasks") result = ddf.reset_index().y.unique() expected = pd.Series(pdf.y.unique(), name="y") > assert_eq(result, expected, check_index=False) dask/dataframe/dask_expr/tests/test_shuffle.py:832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:32: in assert_eq if hasattr(obj, "dask"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_pandas_read_text_dtype_coercion[read_csv-files0] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @csv_and_table def test_pandas_read_text_dtype_coercion(reader, files): b = files["2014-01-01.csv"] > df = pandas_read_text(reader, b, b"", {}, {"amount": "float"}) dask/dataframe/io/tests/test_csv.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount id 0 Alice 100 1 1 Bob 200 2 2 Charlie 300 3 dtypes = {'amount': 'float'} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ___________ test_pandas_read_text_dtype_coercion[read_table-files1] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @csv_and_table def test_pandas_read_text_dtype_coercion(reader, files): b = files["2014-01-01.csv"] > df = pandas_read_text(reader, b, b"", {}, {"amount": "float"}) dask/dataframe/io/tests/test_csv.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount id 0 Alice 100 1 1 Bob 200 2 2 Charlie 300 3 dtypes = {'amount': 'float'} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________ test_pandas_read_text_dtype_coercion[read_fwf-files2] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b' name amount id\n Alice 100 1\n Bob 200 2\n Charlie 300 3\n', '2014-... id\n', '2014-01-03.csv': b' name amount id\n Dennis 400 4\n Edith 500 5\n Frank 600 6\n'} @csv_and_table def test_pandas_read_text_dtype_coercion(reader, files): b = files["2014-01-01.csv"] > df = pandas_read_text(reader, b, b"", {}, {"amount": "float"}) dask/dataframe/io/tests/test_csv.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount id 0 Alice 100 1 1 Bob 200 2 2 Charlie 300 3 dtypes = {'amount': 'float'} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_text_blocks_to_pandas_simple[read_csv-files0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @csv_and_table def test_text_blocks_to_pandas_simple(reader, files): blocks = [[files[k]] for k in sorted(files)] kwargs = {} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", {}) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(df, dd.DataFrame) assert list(df.columns) == ["name", "amount", "id"] values = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(values, dd.DataFrame) assert hasattr(values, "dask") assert len(values.dask) == 6 if pyarrow_strings_enabled() else 3 > assert_eq(df.amount.sum(), 100 + 200 + 300 + 400 + 500 + 600) dask/dataframe/io/tests/test_csv.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [amount] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________ test_text_blocks_to_pandas_simple[read_table-files1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @csv_and_table def test_text_blocks_to_pandas_simple(reader, files): blocks = [[files[k]] for k in sorted(files)] kwargs = {} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", {}) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(df, dd.DataFrame) assert list(df.columns) == ["name", "amount", "id"] values = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(values, dd.DataFrame) assert hasattr(values, "dask") assert len(values.dask) == 6 if pyarrow_strings_enabled() else 3 > assert_eq(df.amount.sum(), 100 + 200 + 300 + 400 + 500 + 600) dask/dataframe/io/tests/test_csv.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [amount] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_text_blocks_to_pandas_simple[read_fwf-files2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b' name amount id\n Alice 100 1\n Bob 200 2\n Charlie 300 3\n', '2014-... id\n', '2014-01-03.csv': b' name amount id\n Dennis 400 4\n Edith 500 5\n Frank 600 6\n'} @csv_and_table def test_text_blocks_to_pandas_simple(reader, files): blocks = [[files[k]] for k in sorted(files)] kwargs = {} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", {}) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(df, dd.DataFrame) assert list(df.columns) == ["name", "amount", "id"] values = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert isinstance(values, dd.DataFrame) assert hasattr(values, "dask") assert len(values.dask) == 6 if pyarrow_strings_enabled() else 3 > assert_eq(df.amount.sum(), 100 + 200 + 300 + 400 + 500 + 600) dask/dataframe/io/tests/test_csv.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [amount] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_text_blocks_to_pandas_kwargs[read_csv-files0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @csv_and_table def test_text_blocks_to_pandas_kwargs(reader, files): blocks = [files[k] for k in sorted(files)] blocks = [[b] for b in blocks] kwargs = {"usecols": ["name", "id"]} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", kwargs) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert list(df.columns) == ["name", "id"] > result = df.compute() dask/dataframe/io/tests/test_csv.py:225: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, id] Index: [] dtypes = {'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________ test_text_blocks_to_pandas_kwargs[read_table-files1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @csv_and_table def test_text_blocks_to_pandas_kwargs(reader, files): blocks = [files[k] for k in sorted(files)] blocks = [[b] for b in blocks] kwargs = {"usecols": ["name", "id"]} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", kwargs) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert list(df.columns) == ["name", "id"] > result = df.compute() dask/dataframe/io/tests/test_csv.py:225: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, id] Index: [] dtypes = {'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_text_blocks_to_pandas_kwargs[read_fwf-files2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b' name amount id\n Alice 100 1\n Bob 200 2\n Charlie 300 3\n', '2014-... id\n', '2014-01-03.csv': b' name amount id\n Dennis 400 4\n Edith 500 5\n Frank 600 6\n'} @csv_and_table def test_text_blocks_to_pandas_kwargs(reader, files): blocks = [files[k] for k in sorted(files)] blocks = [[b] for b in blocks] kwargs = {"usecols": ["name", "id"]} head = pandas_read_text(reader, files["2014-01-01.csv"], b"", kwargs) header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" df = text_blocks_to_pandas(reader, blocks, header, head, kwargs) assert list(df.columns) == ["name", "id"] > result = df.compute() dask/dataframe/io/tests/test_csv.py:225: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, id] Index: [] dtypes = {'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________ test_text_blocks_to_pandas_blocked[read_csv-files0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @csv_and_table def test_text_blocks_to_pandas_blocked(reader, files): expected = read_files() header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" blocks = [] for k in sorted(files): b = files[k] lines = b.split(b"\n") blocks.append([b"\n".join(bs) for bs in partition_all(2, lines)]) df = text_blocks_to_pandas(reader, blocks, header, expected.head(), {}) assert_eq( > df.compute().reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': string[pyarrow]} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | name | object | string | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - name E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'name': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________ test_text_blocks_to_pandas_blocked[read_table-files1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @csv_and_table def test_text_blocks_to_pandas_blocked(reader, files): expected = read_files() header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" blocks = [] for k in sorted(files): b = files[k] lines = b.split(b"\n") blocks.append([b"\n".join(bs) for bs in partition_all(2, lines)]) df = text_blocks_to_pandas(reader, blocks, header, expected.head(), {}) assert_eq( > df.compute().reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': string[pyarrow]} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | name | object | string | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - name E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'name': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________ test_text_blocks_to_pandas_blocked[read_fwf-files2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = files = {'2014-01-01.csv': b' name amount id\n Alice 100 1\n Bob 200 2\n Charlie 300 3\n', '2014-... id\n', '2014-01-03.csv': b' name amount id\n Dennis 400 4\n Edith 500 5\n Frank 600 6\n'} @csv_and_table def test_text_blocks_to_pandas_blocked(reader, files): expected = read_files() header = files["2014-01-01.csv"].split(b"\n")[0] + b"\n" blocks = [] for k in sorted(files): b = files[k] lines = b.split(b"\n") blocks.append([b"\n".join(bs) for bs in partition_all(2, lines)]) df = text_blocks_to_pandas(reader, blocks, header, expected.head(), {}) assert_eq( > df.compute().reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:241: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': string[pyarrow]} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | name | object | string | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - name E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'name': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ___________________ test_skiprows[read_csv-read_csv-files0] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname,amount,id\n...n# that may be present\n# in a data file\n# before any data\nname,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_skiprows(dd_read, pd_read, files): files = {name: comment_header + b"\n" + content for name, content in files.items()} skip = len(comment_header.splitlines()) with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skiprows=skip) expected_df = read_files_with(files, pd_read, skiprows=skip) > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _________________ test_skiprows[read_table-read_table-files1] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname\tamount\tid...may be present\n# in a data file\n# before any data\nname\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_skiprows(dd_read, pd_read, files): files = {name: comment_header + b"\n" + content for name, content in files.items()} skip = len(comment_header.splitlines()) with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skiprows=skip) expected_df = read_files_with(files, pd_read, skiprows=skip) > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________ test_comment[read_csv-read_csv-files0] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname,amount,id# ...ent\n# in a data file\n# before any data\nname,amount,id# just some comment\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_comment(dd_read, pd_read, files): files = { name: comment_header + b"\n" + content.replace(b"\n", b"# just some comment\n", 1) for name, content in files.items() } with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", comment="#") expected_df = read_files_with(files, pd_read, comment="#") > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:284: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError __________________ test_comment[read_table-read_table-files1] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname\tamount\tid...n a data file\n# before any data\nname\tamount\tid# just some comment\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_comment(dd_read, pd_read, files): files = { name: comment_header + b"\n" + content.replace(b"\n", b"# just some comment\n", 1) for name, content in files.items() } with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", comment="#") expected_df = read_files_with(files, pd_read, comment="#") > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:284: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError __________________ test_skipfooter[read_csv-read_csv-files0] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n\n# some footer lines\n# that may be prese...nt,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n\n# some footer lines\n# that may be present\n# at the end of the file'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_skipfooter(dd_read, pd_read, files): files = {name: content + b"\n" + comment_footer for name, content in files.items()} skip = len(comment_footer.splitlines()) with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skipfooter=skip, engine="python") expected_df = read_files_with(files, pd_read, skipfooter=skip, engine="python") > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount id 0 Dennis 400 4 1 Edith 500 5 2 Frank 600 6 dtypes = {'amount': dtype('float64'), 'id': dtype('float64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float64 | E | id | int64 | float64 | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64', E 'id': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ________________ test_skipfooter[read_table-read_table-files1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n\n# some footer lines\n# that may ...nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n\n# some footer lines\n# that may be present\n# at the end of the file'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_skipfooter(dd_read, pd_read, files): files = {name: content + b"\n" + comment_footer for name, content in files.items()} skip = len(comment_footer.splitlines()) with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skipfooter=skip, engine="python") expected_df = read_files_with(files, pd_read, skipfooter=skip, engine="python") > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount id 0 Dennis 400 4 1 Edith 500 5 2 Frank 600 6 dtypes = {'amount': dtype('float64'), 'id': dtype('float64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float64 | E | id | int64 | float64 | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64', E 'id': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _______ test_skiprows_as_list[read_csv-read_csv-files0-str, int, int\n] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname,amount,id\n...present\n# in a data file\n# before any data\nname,amount,id\nstr, int, int\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} units = b'str, int, int\n' @pytest.mark.parametrize( "dd_read,pd_read,files,units", [ (dd.read_csv, pd.read_csv, csv_files, csv_units_row), (dd.read_table, pd.read_table, tsv_files, tsv_units_row), ], ) def test_skiprows_as_list(dd_read, pd_read, files, units): files = { name: (comment_header + b"\n" + content.replace(b"\n", b"\n" + units, 1)) for name, content in files.items() } skip = [0, 1, 2, 3, 5] with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skiprows=skip) expected_df = read_files_with(files, pd_read, skiprows=skip) > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____ test_skiprows_as_list[read_table-read_table-files1-str\t int\t int\n] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'# some header lines\n# that may be present\n# in a data file\n# before any data\nname\tamount\tid... in a data file\n# before any data\nname\tamount\tid\nstr\t int\t int\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} units = b'str\t int\t int\n' @pytest.mark.parametrize( "dd_read,pd_read,files,units", [ (dd.read_csv, pd.read_csv, csv_files, csv_units_row), (dd.read_table, pd.read_table, tsv_files, tsv_units_row), ], ) def test_skiprows_as_list(dd_read, pd_read, files, units): files = { name: (comment_header + b"\n" + content.replace(b"\n", b"\n" + units, 1)) for name, content in files.items() } skip = [0, 1, 2, 3, 5] with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", skiprows=skip) expected_df = read_files_with(files, pd_read, skiprows=skip) > assert_eq(df, expected_df, check_dtype=False) dask/dataframe/io/tests/test_csv.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________ test_enforce_dtypes[read_csv-blocks0] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = blocks = [[b'aa,bb\n1,1.0\n2,2.0', b'10,20\n30,40'], [b'aa,bb\n1,1.0\n2,2.0', b'10,20\n30,40']] @pytest.mark.parametrize( "reader,blocks", [(pd.read_csv, csv_blocks), (pd.read_table, tsv_blocks)] ) def test_enforce_dtypes(reader, blocks): head = reader(BytesIO(blocks[0][0]), header=0) header = blocks[0][0].split(b"\n")[0] + b"\n" dfs = text_blocks_to_pandas(reader, blocks, header, head, {}) > dfs = dask.compute(dfs, scheduler="sync") dask/dataframe/io/tests/test_csv.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = aa bb 0 10 20 1 30 40 dtypes = {'aa': dtype('int64'), 'bb': dtype('float64')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | bb | int64 | float64 | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - bb E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'bb': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ___________________ test_enforce_dtypes[read_table-blocks1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = blocks = [[b'aa\tbb\n1\t1.0\n2\t2.0', b'10\t20\n30\t40'], [b'aa\tbb\n1\t1.0\n2\t2.0', b'10\t20\n30\t40']] @pytest.mark.parametrize( "reader,blocks", [(pd.read_csv, csv_blocks), (pd.read_table, tsv_blocks)] ) def test_enforce_dtypes(reader, blocks): head = reader(BytesIO(blocks[0][0]), header=0) header = blocks[0][0].split(b"\n")[0] + b"\n" dfs = text_blocks_to_pandas(reader, blocks, header, head, {}) > dfs = dask.compute(dfs, scheduler="sync") dask/dataframe/io/tests/test_csv.py:337: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = aa bb 0 10 20 1 30 40 dtypes = {'aa': dtype('int64'), 'bb': dtype('float64')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | bb | int64 | float64 | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - bb E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'bb': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________ test_enforce_columns[read_csv-blocks0] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = blocks = [[b'aa,bb\n1,1.0\n2,2.0', b'10,20\n30,40'], [b'AA,bb\n1,1.0\n2,2.0', b'10,20\n30,40']] @pytest.mark.parametrize( "reader,blocks", [(pd.read_csv, csv_blocks), (pd.read_table, tsv_blocks)] ) def test_enforce_columns(reader, blocks): # Replace second header with different column name blocks = [blocks[0], [blocks[1][0].replace(b"a", b"A"), blocks[1][1]]] head = reader(BytesIO(blocks[0][0]), header=0) header = blocks[0][0].split(b"\n")[0] + b"\n" > with pytest.raises(ValueError): E Failed: DID NOT RAISE dask/dataframe/io/tests/test_csv.py:349: Failed ___________________ test_enforce_columns[read_table-blocks1] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 reader = blocks = [[b'aa\tbb\n1\t1.0\n2\t2.0', b'10\t20\n30\t40'], [b'AA\tbb\n1\t1.0\n2\t2.0', b'10\t20\n30\t40']] @pytest.mark.parametrize( "reader,blocks", [(pd.read_csv, csv_blocks), (pd.read_table, tsv_blocks)] ) def test_enforce_columns(reader, blocks): # Replace second header with different column name blocks = [blocks[0], [blocks[1][0].replace(b"a", b"A"), blocks[1][1]]] head = reader(BytesIO(blocks[0][0]), header=0) header = blocks[0][0].split(b"\n")[0] + b"\n" > with pytest.raises(ValueError): E Failed: DID NOT RAISE dask/dataframe/io/tests/test_csv.py:349: Failed ________________ test_read_csv_files[read_csv-read_csv-files0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_read_csv_files(dd_read, pd_read, files): expected = read_files() with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv") > assert_eq(df, expected, check_dtype=False) dask/dataframe/io/tests/test_csv.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_read_csv_files[read_table-read_table-files1] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_read_csv_files(dd_read, pd_read, files): expected = read_files() with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv") > assert_eq(df, expected, check_dtype=False) dask/dataframe/io/tests/test_csv.py:428: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_read_csv_files_list[read_csv-read_csv-files0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> pd_read = files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_read_csv_files_list(dd_read, pd_read, files): with filetexts(files, mode="b"): subset = sorted(files)[:2] # Just first 2 sol = read_files(subset) res = dd_read(subset) > assert_eq(res, sol, check_dtype=False) dask/dataframe/io/tests/test_csv.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________ test_read_csv_files_list[read_table-read_table-files1] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> pd_read = files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,pd_read,files", [(dd.read_csv, pd.read_csv, csv_files), (dd.read_table, pd.read_table, tsv_files)], ) def test_read_csv_files_list(dd_read, pd_read, files): with filetexts(files, mode="b"): subset = sorted(files)[:2] # Just first 2 sol = read_files(subset) res = dd_read(subset) > assert_eq(res, sol, check_dtype=False) dask/dataframe/io/tests/test_csv.py:445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________ test_read_csv_include_path_column[read_csv-files0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column(dd_read, files): with filetexts(files, mode="b"): df = dd_read( "2014-01-*.csv", include_path_column=True, converters={"path": parse_filename}, ) > filenames = df.path.compute().unique() dask/dataframe/io/tests/test_csv.py:461: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________ test_read_csv_include_path_column[read_table-files1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column(dd_read, files): with filetexts(files, mode="b"): df = dd_read( "2014-01-*.csv", include_path_column=True, converters={"path": parse_filename}, ) > filenames = df.path.compute().unique() dask/dataframe/io/tests/test_csv.py:461: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError __________ test_read_csv_include_path_column_as_str[read_csv-files0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_as_str(dd_read, files): with filetexts(files, mode="b"): df = dd_read( "2014-01-*.csv", include_path_column="filename", converters={"filename": parse_filename}, ) > filenames = df.filename.compute().unique() dask/dataframe/io/tests/test_csv.py:477: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _________ test_read_csv_include_path_column_as_str[read_table-files1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_as_str(dd_read, files): with filetexts(files, mode="b"): df = dd_read( "2014-01-*.csv", include_path_column="filename", converters={"filename": parse_filename}, ) > filenames = df.filename.compute().unique() dask/dataframe/io/tests/test_csv.py:477: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____ test_read_csv_include_path_column_is_dtype_category[read_csv-files0] _____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_is_dtype_category(dd_read, files): with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", include_path_column=True) assert df.path.dtype == "category" assert has_known_categories(df.path) dfs = dd_read("2014-01-*.csv", include_path_column=True) > result = dfs.compute() dask/dataframe/io/tests/test_csv.py:502: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____ test_read_csv_include_path_column_is_dtype_category[read_table-files1] ____ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_is_dtype_category(dd_read, files): with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", include_path_column=True) assert df.path.dtype == "category" assert has_known_categories(df.path) dfs = dd_read("2014-01-*.csv", include_path_column=True) > result = dfs.compute() dask/dataframe/io/tests/test_csv.py:502: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _ test_read_csv_include_path_column_with_multiple_partitions_per_file[read_csv-files0] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99dc70> files = {'2014-01-01.csv': b'name,amount,id\nAlice,100,1\nBob,200,2\nCharlie,300,3\n', '2014-01-02.csv': b'name,amount,id\n', '2014-01-03.csv': b'name,amount,id\nDennis,400,4\nEdith,500,5\nFrank,600,6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_with_multiple_partitions_per_file(dd_read, files): with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", blocksize="10B", include_path_column=True) assert df.npartitions > 3 assert df.path.dtype == "category" assert has_known_categories(df.path) dfs = dd_read("2014-01-*.csv", blocksize="10B", include_path_column=True) > result = dfs.compute() dask/dataframe/io/tests/test_csv.py:518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _ test_read_csv_include_path_column_with_multiple_partitions_per_file[read_table-files1] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dd_read = .read at 0x7f5bfa99db10> files = {'2014-01-01.csv': b'name\tamount\tid\nAlice\t100\t1\nBob\t200\t2\nCharlie\t300\t3\n', '2014-01-02.csv': b'name\tamount\tid\n', '2014-01-03.csv': b'name\tamount\tid\nDennis\t400\t4\nEdith\t500\t5\nFrank\t600\t6\n'} @pytest.mark.parametrize( "dd_read,files", [(dd.read_csv, csv_files), (dd.read_table, tsv_files)] ) def test_read_csv_include_path_column_with_multiple_partitions_per_file(dd_read, files): with filetexts(files, mode="b"): df = dd_read("2014-01-*.csv", blocksize="10B", include_path_column=True) assert df.npartitions > 3 assert df.path.dtype == "category" assert has_known_categories(df.path) dfs = dd_read("2014-01-*.csv", blocksize="10B", include_path_column=True) > result = dfs.compute() dask/dataframe/io/tests/test_csv.py:518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________________ test_read_csv_index ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_read_csv_index(): with filetext(csv_text) as fn: f = dd.read_csv(fn, blocksize=20).set_index("amount") > result = f.compute(scheduler="sync") dask/dataframe/io/tests/test_csv.py:530: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [name, amount] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_usecols _________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_usecols(): with filetext(timeseries) as fn: df = dd.read_csv(fn, blocksize=30, usecols=["High", "Low"]) df_select = df[["High"]] expected = pd.read_csv(fn, usecols=["High", "Low"]) expected_select = expected[["High"]] > assert (df.compute().values == expected.values).all() dask/dataframe/io/tests/test_csv.py:560: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [High, Low] Index: [] dtypes = {'High': dtype('float64'), 'Low': dtype('float64')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | High | object | float64 | E | Low | object | float64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - High E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - Low E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'High': 'object', E 'Low': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________________ test_consistent_dtypes ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_consistent_dtypes(): text = normalize_text( """ name,amount Alice,100.5 Bob,-200.5 Charlie,300 Dennis,400 Edith,-500 Frank,600 """ ) with filetext(text) as fn: df = dd.read_csv(fn, blocksize=30) > assert df.amount.compute().dtype == float dask/dataframe/io/tests/test_csv.py:609: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = name amount 0 Dennis 400 1 Edith -500 2 Frank 600 dtypes = {'amount': dtype('float64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+-------+----------+ E | Column | Found | Expected | E +--------+-------+----------+ E | amount | int64 | float64 | E +--------+-------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'int64'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ___________________________ test_categorical_dtypes ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('foo.*.csv',) kwargs = {'blocksize': 25, 'dtype': {'fruit': 'category'}} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:731: in read return read_pandas( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:628: in read_pandas return text_blocks_to_pandas( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:266: in text_blocks_to_pandas head = clear_known_categories(head, cols=unknown_categoricals) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = fruit count 0 apple 10 1 apple 25 2 pear 100 3 orange 15 key = 'fruit' value = 0 NaN 1 NaN 2 NaN 3 NaN Name: fruit, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: def test_categorical_dtypes(): text1 = normalize_text( """ fruit,count apple,10 apple,25 pear,100 orange,15 """ ) text2 = normalize_text( """ fruit,count apple,200 banana,300 orange,400 banana,10 """ ) with filetexts({"foo.1.csv": text1, "foo.2.csv": text2}): > df = dd.read_csv("foo.*.csv", dtype={"fruit": "category"}, blocksize=25) dask/dataframe/io/tests/test_csv.py:659: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('foo.*.csv',) kwargs = {'blocksize': 25, 'dtype': {'fruit': 'category'}} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_csv method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning ____________________________ test_categorical_known ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('foo.*.csv',), kwargs = {'dtype': {'A': 'category', 'B': 'category'}} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:731: in read return read_pandas( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:628: in read_pandas return text_blocks_to_pandas( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:266: in text_blocks_to_pandas head = clear_known_categories(head, cols=unknown_categoricals) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B 0 a a 1 b b 2 a a, key = 'A' value = 0 NaN 1 NaN 2 NaN Name: A, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: def test_categorical_known(): text1 = normalize_text( """ A,B a,a b,b a,a """ ) text2 = normalize_text( """ A,B a,a b,b c,c """ ) dtype = pd.api.types.CategoricalDtype(["a", "b", "c"], ordered=False) with filetexts({"foo.1.csv": text1, "foo.2.csv": text2}): > result = dd.read_csv("foo.*.csv", dtype={"A": "category", "B": "category"}) dask/dataframe/io/tests/test_csv.py:686: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('foo.*.csv',), kwargs = {'dtype': {'A': 'category', 'B': 'category'}} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_csv method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning ____________________ test_read_csv_compression[None0-None] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = None, blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________ test_read_csv_compression[None0-10] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = None, blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________ test_read_csv_compression[zip-None] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'zip', blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________ test_read_csv_compression[zip-10] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'zip', blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________ test_read_csv_compression[bz2-None] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'bz2', blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________ test_read_csv_compression[bz2-10] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'bz2', blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________ test_read_csv_compression[gzip-None] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'gzip', blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________ test_read_csv_compression[gzip-10] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'gzip', blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________ test_read_csv_compression[xz-None] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'xz', blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _______________________ test_read_csv_compression[xz-10] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = 'xz', blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________ test_read_csv_compression[None1-None] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = None, blocksize = None @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________ test_read_csv_compression[None1-10] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 fmt = None, blocksize = 10 @pytest.mark.parametrize("blocksize", [None, 10]) @pytest.mark.parametrize("fmt", compression_fmts) def test_read_csv_compression(fmt, blocksize): if fmt and fmt not in compress: pytest.skip("compress function not provided for %s" % fmt) expected = read_files() suffix = {"gzip": ".gz", "bz2": ".bz2", "zip": ".zip", "xz": ".xz"}.get(fmt, "") files2 = valmap(compress[fmt], csv_files) if fmt else csv_files renamed_files = {k + suffix: v for k, v in files2.items()} with filetexts(renamed_files, mode="b"): # This test is using `compression="infer"` (the default) for # read_csv. The paths must have the appropriate extension. if fmt and blocksize: with pytest.warns(UserWarning): df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) else: df = dd.read_csv("2014-01-*.csv" + suffix, blocksize=blocksize) assert_eq( > df.compute(scheduler="sync").reset_index(drop=True), expected.reset_index(drop=True), check_dtype=False, ) dask/dataframe/io/tests/test_csv.py:787: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________________ test_header_int[3] ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 header = 3 @pytest.mark.parametrize("header", [1, 2, 3]) def test_header_int(header): text = ( "id0,name0,x0,y0\n" "id,name,x,y\n" "1034,Victor,-0.25,0.84\n" "998,Xavier,-0.48,-0.13\n" "999,Zelda,0.00,0.47\n" "980,Alice,0.67,-0.98\n" "989,Zelda,-0.04,0.03\n" ) with filetexts({"test_header_int.csv": text}): df = dd.read_csv("test_header_int.csv", header=header, blocksize=64) expected = pd.read_csv("test_header_int.csv", header=header) > assert_eq(df, expected, check_index=False) dask/dataframe/io/tests/test_csv.py:837: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [998, Xavier, -0.48, -0.13] Index: [] dtypes = {'-0.13': dtype('float64'), '-0.48': dtype('float64'), '998': dtype('int64'), 'Xavier': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | -0.48 | object | float64 | E | 998 | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - -0.48 E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - 998 E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'-0.48': 'object', E '998': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError _____________________________ test_assume_missing ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/tmpnxfza2gu',), kwargs = {'assume_missing': True, 'sample': 50} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:731: in read return read_pandas( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:618: in read_pandas head[c] = head[c].astype(float) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = numbers names more_numbers integers 0 1 foo 2 3 1 1 foo 2 3 key = 'numbers', value = 0 1.0 1 1.0 Name: numbers, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: def test_assume_missing(): text = "numbers,names,more_numbers,integers\n" for _ in range(1000): text += "1,foo,2,3\n" text += "1.5,bar,2.5,3\n" with filetext(text) as fn: sol = pd.read_csv(fn) # assume_missing affects all columns > res = dd.read_csv(fn, sample=50, assume_missing=True) dask/dataframe/io/tests/test_csv.py:1091: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/tmpnxfza2gu',), kwargs = {'assume_missing': True, 'sample': 50} func = .read at 0x7f5bfa99dbc0> exc = FutureWarning('An error occurred while calling the read_csv method registered to the pandas backend.\nOriginal Message...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_csv method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning _________________________ test_robust_column_mismatch __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_robust_column_mismatch(): files = csv_files.copy() k = sorted(files)[-1] files[k] = files[k].replace(b"name", b"Name") with filetexts(files, mode="b"): ddf = dd.read_csv( "2014-01-*.csv", header=None, skiprows=1, names=["name", "amount", "id"] ) df = pd.read_csv("2014-01-01.csv") assert (df.columns == ddf.columns).all() > assert_eq(ddf, ddf) dask/dataframe/io/tests/test_csv.py:1291: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ______________________ test_different_columns_are_allowed ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_different_columns_are_allowed(): files = csv_files.copy() k = sorted(files)[-1] files[k] = files[k].replace(b"name", b"address") with filetexts(files, mode="b"): ddf = dd.read_csv("2014-01-*.csv") # since enforce is False, meta doesn't have to match computed assert (ddf.columns == ["name", "amount", "id"]).all() > assert (ddf.compute().columns == ["name", "amount", "id", "address"]).all() dask/dataframe/io/tests/test_csv.py:1303: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:351: in _read_csv df = pandas_read_text( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:79: in pandas_read_text coerce_dtypes(df, dtypes) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ df = Empty DataFrame Columns: [name, amount, id] Index: [] dtypes = {'amount': dtype('int64'), 'id': dtype('int64'), 'name': dtype('O')} def coerce_dtypes(df, dtypes): """Coerce dataframe to dtypes safely Operates in place Parameters ---------- df: Pandas DataFrame dtypes: dict like {'x': float} """ bad_dtypes = [] bad_dates = [] errors = [] for c in df.columns: if c in dtypes and df.dtypes[c] != dtypes[c]: actual = df.dtypes[c] desired = dtypes[c] if is_float_dtype(actual) and is_integer_dtype(desired): bad_dtypes.append((c, actual, desired)) elif is_object_dtype(actual) and is_datetime64_any_dtype(desired): # This can only occur when parse_dates is specified, but an # invalid date is encountered. Pandas then silently falls back # to object dtype. Since `object_array.astype(datetime)` will # silently overflow, error here and report. bad_dates.append(c) else: try: df[c] = df[c].astype(dtypes[c]) except Exception as e: bad_dtypes.append((c, actual, desired)) errors.append((c, e)) if bad_dtypes: if errors: ex = "\n".join( f"- {c}\n {e!r}" for c, e in sorted(errors, key=lambda x: str(x[0])) ) exceptions = ( "The following columns also raised exceptions on " "conversion:\n\n%s\n\n" ) % ex extra = "" else: exceptions = "" # All mismatches are int->float, also suggest `assume_missing=True` extra = ( "\n\nAlternatively, provide `assume_missing=True` " "to interpret\n" "all unspecified integer columns as floats." ) bad_dtypes = sorted(bad_dtypes, key=lambda x: str(x[0])) table = asciitable(["Column", "Found", "Expected"], bad_dtypes) dtype_kw = "dtype={%s}" % ",\n ".join( f"{k!r}: '{v}'" for (k, v, _) in bad_dtypes ) dtype_msg = ( "{table}\n\n" "{exceptions}" "Usually this is due to dask's dtype inference failing, and\n" "*may* be fixed by specifying dtypes manually by adding:\n\n" "{dtype_kw}\n\n" "to the call to `read_csv`/`read_table`." "{extra}" ).format(table=table, exceptions=exceptions, dtype_kw=dtype_kw, extra=extra) else: dtype_msg = None if bad_dates: also = " also " if bad_dtypes else " " cols = "\n".join("- %s" % c for c in bad_dates) date_msg = ( "The following columns{also}failed to properly parse as dates:\n\n" "{cols}\n\n" "This is usually due to an invalid value in that column. To\n" "diagnose and fix it's recommended to drop these columns from the\n" "`parse_dates` keyword, and manually convert them to dates later\n" "using `dd.to_datetime`." ).format(also=also, cols=cols) else: date_msg = None if bad_dtypes or bad_dates: rule = "\n\n%s\n\n" % ("-" * 61) msg = "Mismatched dtypes found in `pd.read_csv`/`pd.read_table`.\n\n%s" % ( rule.join(filter(None, [dtype_msg, date_msg])) ) > raise ValueError(msg) E ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. E E +--------+--------+----------+ E | Column | Found | Expected | E +--------+--------+----------+ E | amount | object | int64 | E | id | object | int64 | E +--------+--------+----------+ E E The following columns also raised exceptions on conversion: E E - amount E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E - id E FutureWarning('ChainedAssignmentError: behaviour will change in pandas 3.0!\nYou are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy.\nA typical example is when you are setting values in a column of a DataFrame, like:\n\ndf["col"][row_indexer] = value\n\nUse `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`.\n\nSee the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') E E Usually this is due to dask's dtype inference failing, and E *may* be fixed by specifying dtypes manually by adding: E E dtype={'amount': 'object', E 'id': 'object'} E E to the call to `read_csv`/`read_table`. ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/csv.py:180: ValueError ____________________ test_reading_empty_csv_files_with_path ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_reading_empty_csv_files_with_path(): with tmpdir() as tdir: for k, content in enumerate(["0, 1, 2", "", "6, 7, 8"]): with open(os.path.join(tdir, str(k) + ".csv"), "w") as file: file.write(content) result = dd.read_csv( os.path.join(tdir, "*.csv"), include_path_column=True, converters={"path": parse_filename}, names=["A", "B", "C"], ).compute() df = pd.DataFrame( { "A": [0, 6], "B": [1, 7], "C": [2, 8], "path": ["0.csv", "2.csv"], } ) > df["path"] = df["path"].astype("category") dask/dataframe/io/tests/test_csv.py:1793: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B C path 0 0 1 2 0.csv 1 6 7 8 2.csv, key = 'path' value = 0 0.csv 1 2.csv Name: path, dtype: category Categories (2, object): ['0.csv', '2.csv'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_read_json_with_path_column[split] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 orient = 'split' @pytest.mark.parametrize("orient", ["split", "records", "index", "columns", "values"]) def test_read_json_with_path_column(orient): with tmpfile("json") as f: df.to_json(f, orient=orient, lines=False) actual = dd.read_json(f, orient=orient, lines=False, include_path_column=True) actual_pd = pd.read_json(f, orient=orient, lines=False) # The default column name when include_path_colum is True is "path" # The paths on Windows are converted to forward slash somewhere in the file # reading chain in Dask, so we have to do the same here. > actual_pd["path"] = pd.Series( (f.replace(os.sep, "/"),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 a 1 1 b 2 2 c 3 3 d 4, key = 'path' value = 0 /tmp/tmpwy1yd46s.json 1 /tmp/tmpwy1yd46s.json 2 /tmp/tmpwy1yd46s.json 3 /tmp/tmpwy1yd46s.json dtype: category Categories (1, object): ['/tmp/tmpwy1yd46s.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_read_json_with_path_column[records] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 orient = 'records' @pytest.mark.parametrize("orient", ["split", "records", "index", "columns", "values"]) def test_read_json_with_path_column(orient): with tmpfile("json") as f: df.to_json(f, orient=orient, lines=False) actual = dd.read_json(f, orient=orient, lines=False, include_path_column=True) actual_pd = pd.read_json(f, orient=orient, lines=False) # The default column name when include_path_colum is True is "path" # The paths on Windows are converted to forward slash somewhere in the file # reading chain in Dask, so we have to do the same here. > actual_pd["path"] = pd.Series( (f.replace(os.sep, "/"),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 a 1 1 b 2 2 c 3 3 d 4, key = 'path' value = 0 /tmp/tmp3pufc1kc.json 1 /tmp/tmp3pufc1kc.json 2 /tmp/tmp3pufc1kc.json 3 /tmp/tmp3pufc1kc.json dtype: category Categories (1, object): ['/tmp/tmp3pufc1kc.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_read_json_with_path_column[index] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 orient = 'index' @pytest.mark.parametrize("orient", ["split", "records", "index", "columns", "values"]) def test_read_json_with_path_column(orient): with tmpfile("json") as f: df.to_json(f, orient=orient, lines=False) actual = dd.read_json(f, orient=orient, lines=False, include_path_column=True) actual_pd = pd.read_json(f, orient=orient, lines=False) # The default column name when include_path_colum is True is "path" # The paths on Windows are converted to forward slash somewhere in the file # reading chain in Dask, so we have to do the same here. > actual_pd["path"] = pd.Series( (f.replace(os.sep, "/"),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 a 1 1 b 2 2 c 3 3 d 4, key = 'path' value = 0 /tmp/tmpcppdutik.json 1 /tmp/tmpcppdutik.json 2 /tmp/tmpcppdutik.json 3 /tmp/tmpcppdutik.json dtype: category Categories (1, object): ['/tmp/tmpcppdutik.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_read_json_with_path_column[columns] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 orient = 'columns' @pytest.mark.parametrize("orient", ["split", "records", "index", "columns", "values"]) def test_read_json_with_path_column(orient): with tmpfile("json") as f: df.to_json(f, orient=orient, lines=False) actual = dd.read_json(f, orient=orient, lines=False, include_path_column=True) actual_pd = pd.read_json(f, orient=orient, lines=False) # The default column name when include_path_colum is True is "path" # The paths on Windows are converted to forward slash somewhere in the file # reading chain in Dask, so we have to do the same here. > actual_pd["path"] = pd.Series( (f.replace(os.sep, "/"),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 a 1 1 b 2 2 c 3 3 d 4, key = 'path' value = 0 /tmp/tmp2e32vcqp.json 1 /tmp/tmp2e32vcqp.json 2 /tmp/tmp2e32vcqp.json 3 /tmp/tmp2e32vcqp.json dtype: category Categories (1, object): ['/tmp/tmp2e32vcqp.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_read_json_with_path_column[values] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 orient = 'values' @pytest.mark.parametrize("orient", ["split", "records", "index", "columns", "values"]) def test_read_json_with_path_column(orient): with tmpfile("json") as f: df.to_json(f, orient=orient, lines=False) actual = dd.read_json(f, orient=orient, lines=False, include_path_column=True) actual_pd = pd.read_json(f, orient=orient, lines=False) # The default column name when include_path_colum is True is "path" # The paths on Windows are converted to forward slash somewhere in the file # reading chain in Dask, so we have to do the same here. > actual_pd["path"] = pd.Series( (f.replace(os.sep, "/"),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = 0 1 0 a 1 1 b 2 2 c 3 3 d 4, key = 'path' value = 0 /tmp/tmppffyeai5.json 1 /tmp/tmppffyeai5.json 2 /tmp/tmppffyeai5.json 3 /tmp/tmppffyeai5.json dtype: category Categories (1, object): ['/tmp/tmppffyeai5.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_read_json_with_path_converter ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_read_json_with_path_converter(): path_column_name = "filenames" def path_converter(x): return "asdf.json" with tmpfile("json") as f: df.to_json(f, orient="records", lines=False) actual = dd.read_json( f, orient="records", lines=False, include_path_column=path_column_name, path_converter=path_converter, ) actual_pd = pd.read_json(f, orient="records", lines=False) > actual_pd[path_column_name] = pd.Series( (path_converter(f),) * len(actual_pd), dtype="category" ) dask/dataframe/io/tests/test_json.py:59: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 a 1 1 b 2 2 c 3 3 d 4, key = 'filenames' value = 0 asdf.json 1 asdf.json 2 asdf.json 3 asdf.json dtype: category Categories (1, object): ['asdf.json'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_to_datetime_timezone ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_to_datetime_timezone(): pdf = pd.DataFrame({"a": ["2023-04-01 22:12:11.9324171+00:00"]}) df = from_pandas(pdf) > df["a"] = to_datetime(df.a, format="ISO8601", meta=("a", "datetime64[ns, UTC]")) dask/dataframe/dask_expr/tests/test_collection.py:826: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = 'a' value = Series([], Name: a, dtype: datetime64[ns, UTC]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_categorical[pyarrow-pyarrow] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_categorical_pyarrow_pyarr0',) kwargs = {'categories': 'x', 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5372: in read_parquet ReadParquetFSSpec( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:844: in __new__ inst = super().__new__(cls, *args, _determ_token=_determ_token, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:72: in __new__ inst._name /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:790: in _name return self._funcname + "-" + self.deterministic_token ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:517: in deterministic_token self._determ_token = self.__dask_tokenize__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:784: in __dask_tokenize__ funcname(type(self)), self.checksum, *self.operands[:-1] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:794: in checksum return self._dataset_info["checksum"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:1398: in _dataset_info meta = self.engine._create_dd_meta(dataset_info) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:1211: in _create_dd_meta meta = clear_known_categories( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_categorical_pyarrow_pyarr0') write_engine = 'pyarrow', read_engine = 'pyarrow' def test_categorical(tmpdir, write_engine, read_engine): tmp = str(tmpdir) df = pd.DataFrame({"x": ["a", "b", "c"] * 100}, dtype="category") ddf = dd.from_pandas(df, npartitions=3) dd.to_parquet(ddf, tmp, engine=write_engine) > ddf2 = dd.read_parquet(tmp, categories="x", engine=read_engine) dask/dataframe/io/tests/test_parquet.py:573: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_categorical_pyarrow_pyarr0',) kwargs = {'categories': 'x', 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_parquet method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning __________________________ test_append_with_partition __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_append_with_partition0') @PYARROW_MARK def test_append_with_partition(tmpdir): tmp = str(tmpdir) df0 = pd.DataFrame( { "lat": np.arange(0, 10, dtype="int64"), "lon": np.arange(10, 20, dtype="int64"), "value": np.arange(100, 110, dtype="int64"), } ) df0.index.name = "index" df1 = pd.DataFrame( { "lat": np.arange(10, 20, dtype="int64"), "lon": np.arange(10, 20, dtype="int64"), "value": np.arange(120, 130, dtype="int64"), } ) df1.index.name = "index" # Check that nullable dtypes work # (see: https://github.com/dask/dask/issues/8373) > df0["lat"] = df0["lat"].astype("Int64") dask/dataframe/io/tests/test_parquet.py:666: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = lat lon value index 0 0 10 100 1 1 11 101 2 2 12 102 3 ... 104 5 5 15 105 6 6 16 106 7 7 17 107 8 8 18 108 9 9 19 109 key = 'lat' value = index 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 Name: lat, dtype: Int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_partition_on_cats_2[pyarrow] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partition_on_cats_2_pyarr0') engine = 'pyarrow' def test_partition_on_cats_2(tmpdir, engine): tmp = str(tmpdir) d = pd.DataFrame( { "a": np.random.rand(50), "b": np.random.choice(["x", "y", "z"], size=50), "c": np.random.choice(["x", "y", "z"], size=50), } ) d = dd.from_pandas(d, 2) d.to_parquet(tmp, partition_on=["b", "c"], engine=engine) df = dd.read_parquet(tmp, engine=engine) assert set(df.b.cat.categories) == {"x", "y", "z"} assert set(df.c.cat.categories) == {"x", "y", "z"} df = dd.read_parquet(tmp, columns=["a", "c"], engine=engine) assert set(df.c.cat.categories) == {"x", "y", "z"} assert "b" not in df.columns > assert_eq(df, df.compute()) dask/dataframe/io/tests/test_parquet.py:763: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c b __null_dask_index__ 1 0.610908 z z 9 0.533478 z z key = 'c' value = __null_dask_index__ 1 z 9 z dtype: category Categories (3, object): ['x', 'y', 'z'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_categories[pyarrow] ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_categories_pyarrow_0') engine = 'pyarrow' def test_categories(tmpdir, engine): fn = str(tmpdir) df = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": list("caaab")}) ctx = contextlib.nullcontext with ctx({"dataframe.convert-string": False}): ddf = dd.from_pandas(df, npartitions=2) > ddf["y"] = ddf.y.astype("category") dask/dataframe/io/tests/test_parquet.py:1068: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_pyarrow_schema_inference[infer-True] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_schema_inference_1' index = True, schema = 'infer' @PYARROW_MARK @pytest.mark.parametrize("index", [False, True]) @pytest.mark.parametrize("schema", ["infer", "complex"]) def test_pyarrow_schema_inference(tmpdir, index, schema): if schema == "complex": schema = {"index": pa.string(), "amount": pa.int64()} tmpdir = str(tmpdir) df = pd.DataFrame( { "index": ["1", "2", "3", "2", "3", "1", "4"], "date": pd.to_datetime( [ "2017-01-01", "2017-01-01", "2017-01-01", "2017-01-02", "2017-01-02", "2017-01-06", "2017-01-09", ], unit=None if not PANDAS_GE_300 else "ms", ), "amount": [100, 200, 300, 400, 500, 600, 700], }, index=range(7, 14), ) if index: df = dd.from_pandas(df, npartitions=2).set_index("index") else: df = dd.from_pandas(df, npartitions=2) > df.to_parquet(tmpdir, schema=schema) dask/dataframe/io/tests/test_parquet.py:1255: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3312: in to_parquet return to_parquet(self, path, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:661: in to_parquet out = out.compute(**compute_kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [index, date, amount] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_pyarrow_schema_inference[complex-True] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_schema_inference_3' index = True, schema = {'amount': DataType(int64), 'index': DataType(string)} @PYARROW_MARK @pytest.mark.parametrize("index", [False, True]) @pytest.mark.parametrize("schema", ["infer", "complex"]) def test_pyarrow_schema_inference(tmpdir, index, schema): if schema == "complex": schema = {"index": pa.string(), "amount": pa.int64()} tmpdir = str(tmpdir) df = pd.DataFrame( { "index": ["1", "2", "3", "2", "3", "1", "4"], "date": pd.to_datetime( [ "2017-01-01", "2017-01-01", "2017-01-01", "2017-01-02", "2017-01-02", "2017-01-06", "2017-01-09", ], unit=None if not PANDAS_GE_300 else "ms", ), "amount": [100, 200, 300, 400, 500, 600, 700], }, index=range(7, 14), ) if index: df = dd.from_pandas(df, npartitions=2).set_index("index") else: df = dd.from_pandas(df, npartitions=2) > df.to_parquet(tmpdir, schema=schema) dask/dataframe/io/tests/test_parquet.py:1255: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3312: in to_parquet return to_parquet(self, path, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:661: in to_parquet out = out.compute(**compute_kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [index, date, amount] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_partition_on[pyarrow] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partition_on_pyarrow_0' engine = 'pyarrow' def test_partition_on(tmpdir, engine): tmpdir = str(tmpdir) df = pd.DataFrame( { "a1": np.random.choice(["A", "B", "C"], size=100), "a2": np.random.choice(["X", "Y", "Z"], size=100), "b": np.random.random(size=100), "c": np.random.randint(1, 5, size=100), "d": np.arange(0, 100), } ) d = dd.from_pandas(df, npartitions=2) d.to_parquet(tmpdir, partition_on=["a1", "a2"], engine=engine) # Note #1: Cross-engine functionality is missing # Note #2: The index is not preserved in pyarrow when partition_on is used out = dd.read_parquet( tmpdir, engine=engine, index=False, calculate_divisions=False > ).compute() dask/dataframe/io/tests/test_parquet.py:1310: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b c d a1 a2 0 0.193015 3 11 B Y 1 0.809473 2 13 B Y 2 0.165749 1 20 B Y 3 0.982045 4 21...940176 3 30 B Y 6 0.887818 3 41 B Y 7 0.394629 3 43 B Y 8 0.372469 3 44 B Y 9 0.364153 4 48 B Y key = 'a1' value = 0 B 1 B 2 B 3 B 4 B 5 B 6 B 7 B 8 B 9 B dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_partition_on_duplicates[pyarrow] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partition_on_duplicates_p0' engine = 'pyarrow' def test_partition_on_duplicates(tmpdir, engine): # https://github.com/dask/dask/issues/6445 tmpdir = str(tmpdir) df = pd.DataFrame( { "a1": np.random.choice(["A", "B", "C"], size=100), "a2": np.random.choice(["X", "Y", "Z"], size=100), "data": np.random.random(size=100), } ) d = dd.from_pandas(df, npartitions=2) for _ in range(2): d.to_parquet(tmpdir, partition_on=["a1", "a2"], engine=engine) > out = dd.read_parquet(tmpdir, engine=engine).compute() dask/dataframe/io/tests/test_parquet.py:1335: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = data a1 a2 __null_dask_index__ 53 0.050520 B Y 55 ...49343 B Y 92 0.108151 B Y 96 0.048550 B Y 97 0.651192 B Y key = 'a1' value = __null_dask_index__ 53 B 55 B 57 B 70 B 84 B 85 B 88 B 92 B 96 B 97 B dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_partition_on_string[aa] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partition_on_string_aa_0' partition_on = 'aa' @PYARROW_MARK @pytest.mark.parametrize("partition_on", ["aa", ["aa"]]) def test_partition_on_string(tmpdir, partition_on): tmpdir = str(tmpdir) with dask.config.set(scheduler="single-threaded"): tmpdir = str(tmpdir) df = pd.DataFrame( { "aa": np.random.choice(["A", "B", "C"], size=100), "bb": np.random.random(size=100), "cc": np.random.randint(1, 5, size=100), } ) d = dd.from_pandas(df, npartitions=2) d.to_parquet(tmpdir, partition_on=partition_on, write_index=False) out = dd.read_parquet(tmpdir, index=False, calculate_divisions=False) > out = out.compute() dask/dataframe/io/tests/test_parquet.py:1365: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = bb cc aa 0 0.667245 3 C 1 0.640090 3 C 2 0.153457 2 C 3 0.206747 3 C 4 0.128230 3 ...10 0.661131 3 C 11 0.836594 1 C 12 0.432227 3 C 13 0.267061 4 C 14 0.440144 4 C 15 0.186746 2 C key = 'aa' value = 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 C 10 C 11 C 12 C 13 C 14 C 15 C dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_partition_on_string[partition_on1] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partition_on_string_parti0' partition_on = ['aa'] @PYARROW_MARK @pytest.mark.parametrize("partition_on", ["aa", ["aa"]]) def test_partition_on_string(tmpdir, partition_on): tmpdir = str(tmpdir) with dask.config.set(scheduler="single-threaded"): tmpdir = str(tmpdir) df = pd.DataFrame( { "aa": np.random.choice(["A", "B", "C"], size=100), "bb": np.random.random(size=100), "cc": np.random.randint(1, 5, size=100), } ) d = dd.from_pandas(df, npartitions=2) d.to_parquet(tmpdir, partition_on=partition_on, write_index=False) out = dd.read_parquet(tmpdir, index=False, calculate_divisions=False) > out = out.compute() dask/dataframe/io/tests/test_parquet.py:1365: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = bb cc aa 0 0.053349 4 C 1 0.791488 4 C 2 0.099491 3 C 3 0.822764 2 C 4 0.675456 1 ...8 0.130611 2 C 9 0.962954 1 C 10 0.332279 1 C 11 0.900726 4 C 12 0.117107 1 C 13 0.299347 3 C key = 'aa' value = 0 C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 C 10 C 11 C 12 C 13 C dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_filters_categorical[pyarrow-pyarrow] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_filters_categorical_pyarr0' write_engine = 'pyarrow', read_engine = 'pyarrow' def test_filters_categorical(tmpdir, write_engine, read_engine): tmpdir = str(tmpdir) cats = ["2018-01-01", "2018-01-02", "2018-01-03", "2018-01-04"] dftest = pd.DataFrame( { "dummy": [1, 1, 1, 1], "DatePart": pd.Categorical(cats, categories=cats, ordered=True), } ) ddftest = dd.from_pandas(dftest, npartitions=4).set_index("dummy") > ddftest.to_parquet(tmpdir, partition_on="DatePart", engine=write_engine) dask/dataframe/io/tests/test_parquet.py:1380: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3312: in to_parquet return to_parquet(self, path, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:661: in to_parquet out = out.compute(**compute_kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dummy, DatePart] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_parquet_select_cats[pyarrow] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_parquet_select_cats_pyarr0',) kwargs = {'columns': ['ints'], 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5372: in read_parquet ReadParquetFSSpec( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:844: in __new__ inst = super().__new__(cls, *args, _determ_token=_determ_token, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:72: in __new__ inst._name /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:790: in _name return self._funcname + "-" + self.deterministic_token ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:517: in deterministic_token self._determ_token = self.__dask_tokenize__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:784: in __dask_tokenize__ funcname(type(self)), self.checksum, *self.operands[:-1] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:794: in checksum return self._dataset_info["checksum"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:1398: in _dataset_info meta = self.engine._create_dd_meta(dataset_info) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:1211: in _create_dd_meta meta = clear_known_categories( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [categories, ints, floats] Index: [] key = 'categories' value = Series([], Name: categories, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_parquet_select_cats_pyarr0') engine = 'pyarrow' def test_parquet_select_cats(tmpdir, engine): fn = str(tmpdir) df = pd.DataFrame( { "categories": pd.Series( np.random.choice(["a", "b", "c", "d", "e", "f"], size=100), dtype="category", ), "ints": pd.Series(list(range(0, 100)), dtype="int"), "floats": pd.Series(list(range(0, 100)), dtype="float"), } ) ddf = dd.from_pandas(df, 1) ddf.to_parquet(fn, engine=engine) > rddf = dd.read_parquet(fn, columns=["ints"], engine=engine) dask/dataframe/io/tests/test_parquet.py:1613: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_parquet_select_cats_pyarr0',) kwargs = {'columns': ['ints'], 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_parquet method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning __________________ test_writing_parquet_with_kwargs[pyarrow] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_writing_parquet_with_kwar0') engine = 'pyarrow' def test_writing_parquet_with_kwargs(tmpdir, engine): fn = str(tmpdir) path1 = os.path.join(fn, "normal") path2 = os.path.join(fn, "partitioned") df = pd.DataFrame( { "a": np.random.choice(["A", "B", "C"], size=100), "b": np.random.random(size=100), "c": np.random.randint(1, 5, size=100), } ) df.index.name = "index" ddf = dd.from_pandas(df, npartitions=3) write_kwargs = { "pyarrow": { "compression": "snappy", "coerce_timestamps": None, "use_dictionary": True, }, } ddf.to_parquet(path1, engine=engine, **write_kwargs[engine]) out = dd.read_parquet(path1, engine=engine, calculate_divisions=True) assert_eq(out, ddf, check_index=True) # Avoid race condition in pyarrow 0.8.0 on writing partitioned datasets with dask.config.set(scheduler="sync"): ddf.to_parquet(path2, engine=engine, partition_on=["a"], **write_kwargs[engine]) > out = dd.read_parquet(path2, engine=engine).compute() dask/dataframe/io/tests/test_parquet.py:1800: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b c a index 36 0.218269 2 C 38 0.236798 1 C 40 0.271178 3 C 42 0...009 3 C 52 0.334857 1 C 53 0.464266 3 C 56 0.089878 3 C 62 0.636040 4 C 64 0.996734 2 C key = 'a' value = index 36 C 38 C 40 C 42 C 43 C 45 C 47 C 50 C 52 C 53 C 56 C 62 C 64 C dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_select_partitioned_column[pyarrow] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_select_partitioned_column0') engine = 'pyarrow' def test_select_partitioned_column(tmpdir, engine): fn = str(tmpdir) size = 20 d = { "signal1": np.random.normal(0, 0.3, size=size).cumsum() + 50, "fake_categorical1": np.random.choice(["A", "B", "C"], size=size), "fake_categorical2": np.random.choice(["D", "E", "F"], size=size), } df = dd.from_pandas(pd.DataFrame(d), 2) df.to_parquet( fn, compression="snappy", write_index=False, engine=engine, partition_on=["fake_categorical1", "fake_categorical2"], ) df_partitioned = dd.read_parquet(fn, engine=engine) > df_partitioned[df_partitioned.fake_categorical1 == "A"].compute() dask/dataframe/io/tests/test_parquet.py:1851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = signal1 fake_categorical1 fake_categorical2 0 49.561189 C E 1 49.461769 C E key = 'fake_categorical1' value = 0 C 1 C dtype: category Categories (3, object): ['A', 'B', 'C'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_arrow_partitioning ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_arrow_partitioning0') @PYARROW_MARK def test_arrow_partitioning(tmpdir): # Issue #3518 path = str(tmpdir) data = { "p": np.repeat(np.arange(3), 2).astype(np.int8), "b": np.repeat(-1, 6).astype(np.int16), "c": np.repeat(-2, 6).astype(np.float32), "d": np.repeat(-3, 6).astype(np.float64), } pdf = pd.DataFrame(data) ddf = dd.from_pandas(pdf, npartitions=2) ddf.to_parquet(path, write_index=False, partition_on="p") ddf = dd.read_parquet(path, index=False) > ddf.astype({"b": np.float32}).compute() dask/dataframe/io/tests/test_parquet.py:1870: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b c d p 0 -1 -2.0 -3.0 1, key = 'p' value = 0 1 dtype: category Categories (3, int32): [0, 1, 2] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_append_cat_fp[pyarrow] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_append_cat_fp_pyarrow_0') engine = 'pyarrow' def test_append_cat_fp(tmpdir, engine): path = str(tmpdir) # https://github.com/dask/dask/issues/4120 df = pd.DataFrame({"x": ["a", "a", "b", "a", "b"]}) > df["x"] = df["x"].astype("category") dask/dataframe/io/tests/test_parquet.py:1882: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 a 1 a 2 b 3 a 4 b, key = 'x' value = 0 a 1 a 2 b 3 a 4 b Name: x, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_roundtrip_arrow[df3] ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df3_0',) kwargs = {'calculate_divisions': True} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5372: in read_parquet ReadParquetFSSpec( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:844: in __new__ inst = super().__new__(cls, *args, _determ_token=_determ_token, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:72: in __new__ inst._name /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:790: in _name return self._funcname + "-" + self.deterministic_token ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:517: in deterministic_token self._determ_token = self.__dask_tokenize__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:784: in __dask_tokenize__ funcname(type(self)), self.checksum, *self.operands[:-1] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:794: in checksum return self._dataset_info["checksum"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:1398: in _dataset_info meta = self.engine._create_dd_meta(dataset_info) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:1211: in _create_dd_meta meta = clear_known_categories( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df3_0') df = x index 0 a 1 b 2 a @PYARROW_MARK @pytest.mark.parametrize( "df", [ pd.DataFrame({"x": [4, 5, 6, 1, 2, 3]}), pd.DataFrame({"x": ["c", "a", "b"]}), pd.DataFrame({"x": ["cc", "a", "bbb"]}), pytest.param(pd.DataFrame({"x": pd.Categorical(["a", "b", "a"])})), pytest.param(pd.DataFrame({"x": pd.Categorical([1, 2, 1])})), pd.DataFrame({"x": list(map(pd.Timestamp, [3000000, 2000000, 1000000]))}), # ms pd.DataFrame({"x": list(map(pd.Timestamp, [3000, 2000, 1000]))}), # us pd.DataFrame({"x": [3000, 2000, 1000]}).astype("M8[ns]"), # pd.DataFrame({'x': [3, 2, 1]}).astype('M8[ns]'), # Casting errors pd.DataFrame({"x": [3, 2, 1]}).astype("M8[us]"), pd.DataFrame({"x": [3, 2, 1]}).astype("M8[ms]"), pd.DataFrame({"x": [3, 2, 1]}).astype("uint16"), pd.DataFrame({"x": [3, 2, 1]}).astype("float32"), pd.DataFrame({"x": [3, 1, 2]}, index=[3, 2, 1]), pd.DataFrame( {"x": [4, 5, 6, 1, 2, 3]}, index=pd.Index([1, 2, 3, 4, 5, 6], name="foo") ), pd.DataFrame({"x": [1, 2, 3], "y": [3, 2, 1]}), pd.DataFrame({"x": [1, 2, 3], "y": [3, 2, 1]}, columns=["y", "x"]), pd.DataFrame({"0": [3, 2, 1]}), pd.DataFrame({"x": [3, 2, None]}), pd.DataFrame({"-": [3.0, 2.0, None]}), pd.DataFrame({".": [3.0, 2.0, None]}), pd.DataFrame({" ": [3.0, 2.0, None]}), ], ) def test_roundtrip_arrow(tmpdir, df): # Index will be given a name when preserved as index tmp_path = str(tmpdir) if not df.index.name: df.index.name = "index" ddf = dd.from_pandas(df, npartitions=2) dd.to_parquet(ddf, tmp_path, write_index=True) > ddf2 = dd.read_parquet(tmp_path, calculate_divisions=True) dask/dataframe/io/tests/test_parquet.py:1929: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df3_0',) kwargs = {'calculate_divisions': True} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_parquet method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning __________________________ test_roundtrip_arrow[df4] ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df4_0',) kwargs = {'calculate_divisions': True} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5372: in read_parquet ReadParquetFSSpec( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:844: in __new__ inst = super().__new__(cls, *args, _determ_token=_determ_token, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:72: in __new__ inst._name /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:790: in _name return self._funcname + "-" + self.deterministic_token ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:517: in deterministic_token self._determ_token = self.__dask_tokenize__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:784: in __dask_tokenize__ funcname(type(self)), self.checksum, *self.operands[:-1] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:794: in checksum return self._dataset_info["checksum"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:1398: in _dataset_info meta = self.engine._create_dd_meta(dataset_info) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:1211: in _create_dd_meta meta = clear_known_categories( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df4_0') df = x index 0 1 1 2 2 1 @PYARROW_MARK @pytest.mark.parametrize( "df", [ pd.DataFrame({"x": [4, 5, 6, 1, 2, 3]}), pd.DataFrame({"x": ["c", "a", "b"]}), pd.DataFrame({"x": ["cc", "a", "bbb"]}), pytest.param(pd.DataFrame({"x": pd.Categorical(["a", "b", "a"])})), pytest.param(pd.DataFrame({"x": pd.Categorical([1, 2, 1])})), pd.DataFrame({"x": list(map(pd.Timestamp, [3000000, 2000000, 1000000]))}), # ms pd.DataFrame({"x": list(map(pd.Timestamp, [3000, 2000, 1000]))}), # us pd.DataFrame({"x": [3000, 2000, 1000]}).astype("M8[ns]"), # pd.DataFrame({'x': [3, 2, 1]}).astype('M8[ns]'), # Casting errors pd.DataFrame({"x": [3, 2, 1]}).astype("M8[us]"), pd.DataFrame({"x": [3, 2, 1]}).astype("M8[ms]"), pd.DataFrame({"x": [3, 2, 1]}).astype("uint16"), pd.DataFrame({"x": [3, 2, 1]}).astype("float32"), pd.DataFrame({"x": [3, 1, 2]}, index=[3, 2, 1]), pd.DataFrame( {"x": [4, 5, 6, 1, 2, 3]}, index=pd.Index([1, 2, 3, 4, 5, 6], name="foo") ), pd.DataFrame({"x": [1, 2, 3], "y": [3, 2, 1]}), pd.DataFrame({"x": [1, 2, 3], "y": [3, 2, 1]}, columns=["y", "x"]), pd.DataFrame({"0": [3, 2, 1]}), pd.DataFrame({"x": [3, 2, None]}), pd.DataFrame({"-": [3.0, 2.0, None]}), pd.DataFrame({".": [3.0, 2.0, None]}), pd.DataFrame({" ": [3.0, 2.0, None]}), ], ) def test_roundtrip_arrow(tmpdir, df): # Index will be given a name when preserved as index tmp_path = str(tmpdir) if not df.index.name: df.index.name = "index" ddf = dd.from_pandas(df, npartitions=2) dd.to_parquet(ddf, tmp_path, write_index=True) > ddf2 = dd.read_parquet(tmp_path, calculate_divisions=True) dask/dataframe/io/tests/test_parquet.py:1929: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_arrow_df4_0',) kwargs = {'calculate_divisions': True} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_parquet method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning ___________________________ test_columns_assignment ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_columns_assignment(): df = pd.DataFrame({"x": [1, 2, 3, 4]}) ddf = from_pandas(df, npartitions=2) df2 = df.assign(y=df.x + 1, z=df.x - 1) df[["a", "b"]] = df2[["y", "z"]] > ddf2 = ddf.assign(y=ddf.x + 1, z=ddf.x - 1) dask/dataframe/dask_expr/tests/test_collection.py:1436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'y' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_parent_mixed_column_assignment ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_parent_mixed_column_assignment(): pdf = pd.DataFrame(list(range(20))) df = from_pandas(pdf, npartitions=4) > df["a"] = 0 dask/dataframe/dask_expr/tests/test_collection.py:1445: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = 'a', value = 0 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_setitem_triggering_realign ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_setitem_triggering_realign(): a = from_pandas(pd.DataFrame({"A": range(12)}), npartitions=3) b = from_pandas(pd.Series(range(12), name="B"), npartitions=4) > a["C"] = b dask/dataframe/dask_expr/tests/test_collection.py:1496: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A] Index: [], key = 'C' value = Series([], Name: B, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_timeseries_nulls_in_schema[pyarrow-infer] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_timeseries_nulls_in_schem0') engine = 'pyarrow', schema = 'infer' @pytest.mark.parametrize("schema", ["infer", None]) def test_timeseries_nulls_in_schema(tmpdir, engine, schema): # GH#5608: relative path failing _metadata/_common_metadata detection. tmp_path = str(tmpdir.mkdir("files")) tmp_path = os.path.join(tmp_path, "../", "files") ddf2 = ( dask.datasets.timeseries(start="2000-01-01", end="2000-01-03", freq="1h") .reset_index() .map_partitions(lambda x: x.loc[:5]) ) > ddf2 = ddf2.set_index("x").reset_index().persist() dask/dataframe/io/tests/test_parquet.py:2013: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:457: in persist out = self.optimize(fuse=fuse) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [timestamp, name, id, x, y] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_timeseries_nulls_in_schema[pyarrow-None] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_timeseries_nulls_in_schem1') engine = 'pyarrow', schema = None @pytest.mark.parametrize("schema", ["infer", None]) def test_timeseries_nulls_in_schema(tmpdir, engine, schema): # GH#5608: relative path failing _metadata/_common_metadata detection. tmp_path = str(tmpdir.mkdir("files")) tmp_path = os.path.join(tmp_path, "../", "files") ddf2 = ( dask.datasets.timeseries(start="2000-01-01", end="2000-01-03", freq="1h") .reset_index() .map_partitions(lambda x: x.loc[:5]) ) > ddf2 = ddf2.set_index("x").reset_index().persist() dask/dataframe/io/tests/test_parquet.py:2013: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:457: in persist out = self.optimize(fuse=fuse) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [timestamp, name, id, x, y] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_apply_infer_columns ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_apply_infer_columns(): df = pd.DataFrame({"x": [1, 2, 3, 4], "y": [10, 20, 30, 40]}) ddf = from_pandas(df, npartitions=2) def return_df(x): return pd.Series([x.sum(), x.mean()], index=["sum", "mean"]) with pytest.warns(UserWarning, match="metadata"): result = ddf.apply(return_df, axis=1) assert_eq(result.columns, pd.Index(["sum", "mean"])) > assert_eq(result, df.apply(return_df, axis=1)) dask/dataframe/dask_expr/tests/test_collection.py:1530: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: sum mean npartitions=2 0 float64 floa...=Apply(frame=df, function=.return_df at 0x7ffb6a278250>, kwargs={'axis': 1}) b = sum mean 0 11.0 5.5 1 22.0 11.0 2 33.0 16.5 3 44.0 22.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: sum mean npartitions=2 0 float64 floa...=Apply(frame=df, function=.return_df at 0x7ffb6a278250>, kwargs={'axis': 1}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .return_df at 0x7ffb6a278250> E when serializing tuple item 1 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('apply-9e2b68b7eabf9b3f8a9371bebd0e930d', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________ test_filter_nonpartition_columns[pyarrow-pyarrow-None] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_filter_nonpartition_colum0' write_engine = 'pyarrow', read_engine = 'pyarrow', calculate_divisions = None @pytest.mark.parametrize("calculate_divisions", [None, True]) def test_filter_nonpartition_columns( tmpdir, write_engine, read_engine, calculate_divisions ): tmpdir = str(tmpdir) df_write = pd.DataFrame( { "id": [1, 2, 3, 4] * 4, "time": np.arange(16), "random": np.random.choice(["cat", "dog"], size=16), } ) ddf_write = dd.from_pandas(df_write, npartitions=4) ddf_write.to_parquet( tmpdir, write_index=False, partition_on=["id"], engine=write_engine ) ddf_read = dd.read_parquet( tmpdir, index=False, engine=read_engine, calculate_divisions=calculate_divisions, filters=[(("time", "<", 5))], ) > df_read = ddf_read.compute() dask/dataframe/io/tests/test_parquet.py:2548: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = time random id 0 3 dog 4, key = 'id' value = 0 4 dtype: category Categories (4, int32): [1, 2, 3, 4] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_filter_nonpartition_columns[pyarrow-pyarrow-True] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_filter_nonpartition_colum1' write_engine = 'pyarrow', read_engine = 'pyarrow', calculate_divisions = True @pytest.mark.parametrize("calculate_divisions", [None, True]) def test_filter_nonpartition_columns( tmpdir, write_engine, read_engine, calculate_divisions ): tmpdir = str(tmpdir) df_write = pd.DataFrame( { "id": [1, 2, 3, 4] * 4, "time": np.arange(16), "random": np.random.choice(["cat", "dog"], size=16), } ) ddf_write = dd.from_pandas(df_write, npartitions=4) ddf_write.to_parquet( tmpdir, write_index=False, partition_on=["id"], engine=write_engine ) ddf_read = dd.read_parquet( tmpdir, index=False, engine=read_engine, calculate_divisions=calculate_divisions, filters=[(("time", "<", 5))], ) > df_read = ddf_read.compute() dask/dataframe/io/tests/test_parquet.py:2548: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = time random id 0 2 dog 3, key = 'id' value = 0 3 dtype: category Categories (4, int32): [1, 2, 3, 4] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_partitioned_no_pandas_metadata[pyarrow-write_cols0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partitioned_no_pandas_met0') engine = 'pyarrow', write_cols = ['col'] @PYARROW_MARK @pytest.mark.parametrize( "write_cols", [["col"], ["part", "col"]], ) def test_partitioned_no_pandas_metadata(tmpdir, engine, write_cols): # See: https://github.com/dask/dask/issues/8087 # Manually construct directory-partitioned dataset path1 = tmpdir.mkdir("part=a") path2 = tmpdir.mkdir("part=b") path1 = os.path.join(path1, "data.parquet") path2 = os.path.join(path2, "data.parquet") # Write partitions without parquet metadata. # Note that we always use pyarrow to do this # (regardless of the `engine`) _df1 = pd.DataFrame({"part": "a", "col": range(5)}) _df2 = pd.DataFrame({"part": "b", "col": range(5)}) t1 = pa.Table.from_pandas( _df1[write_cols], preserve_index=False, ).replace_schema_metadata(metadata={}) pq.write_table(t1, path1) t2 = pa.Table.from_pandas( _df2[write_cols], preserve_index=False, ).replace_schema_metadata(metadata={}) pq.write_table(t2, path2) # Check results expect = pd.concat([_df1, _df2], ignore_index=True) result = dd.read_parquet(str(tmpdir), engine=engine) > result["part"] = result["part"].astype("object") dask/dataframe/io/tests/test_parquet.py:2732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col, part] Index: [], key = 'part' value = Series([], Name: part, dtype: object) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_partitioned_no_pandas_metadata[pyarrow-write_cols1] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_partitioned_no_pandas_met1') engine = 'pyarrow', write_cols = ['part', 'col'] @PYARROW_MARK @pytest.mark.parametrize( "write_cols", [["col"], ["part", "col"]], ) def test_partitioned_no_pandas_metadata(tmpdir, engine, write_cols): # See: https://github.com/dask/dask/issues/8087 # Manually construct directory-partitioned dataset path1 = tmpdir.mkdir("part=a") path2 = tmpdir.mkdir("part=b") path1 = os.path.join(path1, "data.parquet") path2 = os.path.join(path2, "data.parquet") # Write partitions without parquet metadata. # Note that we always use pyarrow to do this # (regardless of the `engine`) _df1 = pd.DataFrame({"part": "a", "col": range(5)}) _df2 = pd.DataFrame({"part": "b", "col": range(5)}) t1 = pa.Table.from_pandas( _df1[write_cols], preserve_index=False, ).replace_schema_metadata(metadata={}) pq.write_table(t1, path1) t2 = pa.Table.from_pandas( _df2[write_cols], preserve_index=False, ).replace_schema_metadata(metadata={}) pq.write_table(t2, path2) # Check results expect = pd.concat([_df1, _df2], ignore_index=True) result = dd.read_parquet(str(tmpdir), engine=engine) > result["part"] = result["part"].astype("object") dask/dataframe/io/tests/test_parquet.py:2732: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [part, col] Index: [], key = 'part' value = Series([], Name: part, dtype: object) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_pyarrow_directory_partitioning ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_directory_partiti0') @PYARROW_MARK def test_pyarrow_directory_partitioning(tmpdir): # Manually construct directory-partitioned dataset path1 = tmpdir.mkdir("a") path2 = tmpdir.mkdir("b") path1 = os.path.join(path1, "data.parquet") path2 = os.path.join(path2, "data.parquet") _df1 = pd.DataFrame({"part": "a", "col": range(5)}) _df2 = pd.DataFrame({"part": "b", "col": range(5)}) _df1.to_parquet(path1) _df2.to_parquet(path2) # Check results expect = pd.concat([_df1, _df2], ignore_index=True) result = dd.read_parquet( str(tmpdir), dataset={"partitioning": ["part"], "partition_base_dir": str(tmpdir)}, ) > result["part"] = result["part"].astype("object") dask/dataframe/io/tests/test_parquet.py:2754: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [part, col] Index: [], key = 'part' value = Series([], Name: part, dtype: object) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_pyarrow_dataset_partitioned[pyarrow-True] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_partition0') engine = 'pyarrow', test_filter = True @PYARROW_MARK @pytest.mark.parametrize("test_filter", [True, False]) def test_pyarrow_dataset_partitioned(tmpdir, engine, test_filter): fn = str(tmpdir) df = pd.DataFrame({"a": [4, 5, 6], "b": ["a", "b", "b"]}) > df["b"] = df["b"].astype("category") dask/dataframe/io/tests/test_parquet.py:2858: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b 0 4 a 1 5 b 2 6 b, key = 'b' value = 0 a 1 b 2 b Name: b, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_pyarrow_dataset_partitioned[pyarrow-False] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_partition1') engine = 'pyarrow', test_filter = False @PYARROW_MARK @pytest.mark.parametrize("test_filter", [True, False]) def test_pyarrow_dataset_partitioned(tmpdir, engine, test_filter): fn = str(tmpdir) df = pd.DataFrame({"a": [4, 5, 6], "b": ["a", "b", "b"]}) > df["b"] = df["b"].astype("category") dask/dataframe/io/tests/test_parquet.py:2858: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b 0 4 a 1 5 b 2 6 b, key = 'b' value = 0 a 1 b 2 b Name: b, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_pyarrow_dataset_read_from_paths _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_read_from0') @PYARROW_MARK def test_pyarrow_dataset_read_from_paths(tmpdir): fn = str(tmpdir) df = pd.DataFrame({"a": [4, 5, 6], "b": ["a", "b", "b"]}) > df["b"] = df["b"].astype("category") dask/dataframe/io/tests/test_parquet.py:2916: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b 0 4 a 1 5 b 2 6 b, key = 'b' value = 0 a 1 b 2 b Name: b, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_pyarrow_dataset_filter_partitioned[True] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_filter_pa0') split_row_groups = True @PYARROW_MARK @pytest.mark.parametrize("split_row_groups", [True, False]) def test_pyarrow_dataset_filter_partitioned(tmpdir, split_row_groups): fn = str(tmpdir) df = pd.DataFrame( { "a": [4, 5, 6], "b": ["a", "b", "b"], "c": ["A", "B", "B"], } ) > df["b"] = df["b"].astype("category") dask/dataframe/io/tests/test_parquet.py:2939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 4 a A 1 5 b B 2 6 b B, key = 'b' value = 0 a 1 b 2 b Name: b, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_pyarrow_dataset_filter_partitioned[False] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_filter_pa1') split_row_groups = False @PYARROW_MARK @pytest.mark.parametrize("split_row_groups", [True, False]) def test_pyarrow_dataset_filter_partitioned(tmpdir, split_row_groups): fn = str(tmpdir) df = pd.DataFrame( { "a": [4, 5, 6], "b": ["a", "b", "b"], "c": ["A", "B", "B"], } ) > df["b"] = df["b"].astype("category") dask/dataframe/io/tests/test_parquet.py:2939: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 4 a A 1 5 b B 2 6 b B, key = 'b' value = 0 a 1 b 2 b Name: b, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_pyarrow_dataset_filter_on_partitioned[pyarrow] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pyarrow_dataset_filter_on0') engine = 'pyarrow' def test_pyarrow_dataset_filter_on_partitioned(tmpdir, engine): # See: https://github.com/dask/dask/issues/9246 df = pd.DataFrame({"val": range(7), "part": list("abcdefg")}) ddf = dd.from_map( lambda i: df.iloc[i : i + 1], range(7), ) ddf.to_parquet(tmpdir, engine=engine, partition_on=["part"]) # Check that List[Tuple] filters are applied read_ddf = dd.read_parquet( tmpdir, engine=engine, filters=[("part", "==", "c")], ) > read_ddf["part"] = read_ddf["part"].astype("object") dask/dataframe/io/tests/test_parquet.py:2971: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [val, part] Index: [], key = 'part' value = Series([], Name: part, dtype: object) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_to_parquet_overwrite_files_from_read_parquet_in_same_call_raises[pyarrow] _ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_to_parquet_overwrite_file0') engine = 'pyarrow' @pytest.mark.xfail( sys.platform == "win32", reason="File not found error on windows", ) def test_to_parquet_overwrite_files_from_read_parquet_in_same_call_raises( tmpdir, engine ): subdir = tmpdir.mkdir("subdir") dd.from_pandas(pd.DataFrame({"x": range(20)}), npartitions=2).to_parquet( subdir, engine=engine ) ddf = dd.read_parquet(subdir) # Test writing to the same files, as well as a parent directory for target in [subdir, tmpdir]: with pytest.raises( ValueError, match="same parquet file|Cannot overwrite a path" ): ddf.to_parquet(target, overwrite=True) > ddf2 = ddf.assign(y=ddf.x + 1) dask/dataframe/io/tests/test_parquet.py:3236: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'y' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_avoid_alignment _____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_avoid_alignment(): a = pd.DataFrame({"x": range(100)}) da = from_pandas(a, npartitions=4) b = pd.DataFrame({"y": range(100)}) > b["z"] = b.y * 2 dask/dataframe/dask_expr/tests/test_collection.py:2102: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = y 0 0 1 1 2 2 3 3 4 4 .. .. 95 95 96 96 97 97 98 98 99 99 [100 rows x 1 columns] key = 'z' value = 0 0 1 2 2 4 3 6 4 8 ... 95 190 96 192 97 194 98 196 99 198 Name: y, Length: 100, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_dir_filter[pyarrow] ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_dir_filter_pyarrow_0') engine = 'pyarrow' def test_dir_filter(tmpdir, engine): # github #6898 df = pd.DataFrame.from_dict( { "A": { 0: 351.0, 1: 355.0, 2: 358.0, 3: 266.0, 4: 266.0, 5: 268.0, 6: np.nan, }, "B": { 0: 2063.0, 1: 2051.0, 2: 1749.0, 3: 4281.0, 4: 3526.0, 5: 3462.0, 6: np.nan, }, "year": {0: 2019, 1: 2019, 2: 2020, 3: 2020, 4: 2020, 5: 2020, 6: 2020}, } ) ddf = dask.dataframe.from_pandas(df, npartitions=1) ddf.to_parquet(tmpdir, partition_on="year", engine=engine) ddf2 = dd.read_parquet(tmpdir, filters=[("year", "==", 2020)], engine=engine) > ddf2["year"] = ddf2.year.astype("int64") dask/dataframe/io/tests/test_parquet.py:3279: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B, year] Index: [], key = 'year' value = Series([], Name: year, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_extra_file[pyarrow-None] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_extra_file_pyarrow_None_0',) kwargs = {'calculate_divisions': True, 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: > return func(*args, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:140: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5372: in read_parquet ReadParquetFSSpec( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:844: in __new__ inst = super().__new__(cls, *args, _determ_token=_determ_token, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:72: in __new__ inst._name /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:790: in _name return self._funcname + "-" + self.deterministic_token ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:517: in deterministic_token self._determ_token = self.__dask_tokenize__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:784: in __dask_tokenize__ funcname(type(self)), self.checksum, *self.operands[:-1] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:794: in checksum return self._dataset_info["checksum"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/io/parquet.py:1398: in _dataset_info meta = self.engine._create_dd_meta(dataset_info) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:1211: in _create_dd_meta meta = clear_known_categories( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning The above exception was the direct cause of the following exception: tmpdir = '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_extra_file_pyarrow_None_0' engine = 'pyarrow', partition_on = None @PYARROW_MARK @pytest.mark.parametrize("partition_on", ("b", None)) def test_extra_file(tmpdir, engine, partition_on): # Check that read_parquet can handle spark output # See: https://github.com/dask/dask/issues/8087 tmpdir = str(tmpdir) df = pd.DataFrame({"a": range(100), "b": ["dog", "cat"] * 50}) df = df.assign(b=df.b.astype("category")) ddf = dd.from_pandas(df, npartitions=2) ddf.to_parquet( tmpdir, engine=engine, write_metadata_file=True, partition_on=partition_on, ) open(os.path.join(tmpdir, "_SUCCESS"), "w").close() open(os.path.join(tmpdir, "part.0.parquet.crc"), "w").close() os.remove(os.path.join(tmpdir, "_metadata")) > out = dd.read_parquet(tmpdir, engine=engine, calculate_divisions=True) dask/dataframe/io/tests/test_parquet.py:3491: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = ('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_extra_file_pyarrow_None_0',) kwargs = {'calculate_divisions': True, 'engine': 'pyarrow'} func = exc = FutureWarning('An error occurred while calling the read_parquet method registered to the pandas backend.\nOriginal Mes...documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n') @wraps(fn) def wrapper(*args, **kwargs): func = getattr(self, dispatch_name) try: return func(*args, **kwargs) except Exception as e: try: exc = type(e)( f"An error occurred while calling the {funcname(func)} " f"method registered to the {self.backend} backend.\n" f"Original Message: {e}" ) except TypeError: raise e else: > raise exc from e E FutureWarning: An error occurred while calling the read_parquet method registered to the pandas backend. E Original Message: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy ../BUILDROOT/usr/lib/python3.14/site-packages/dask/backends.py:151: FutureWarning ____________________ test_replace_filtered_combine_similar _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_replace_filtered_combine_similar(): from dask.dataframe.dask_expr._expr import Filter, Replace pdf = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6], "b": 1, "c": 2}) df = from_pandas(pdf.copy(), npartitions=2) df = df[df.a > 3] df = df.replace(5, 4) > df["new"] = df.a + df.b dask/dataframe/dask_expr/tests/test_collection.py:2253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = 'new' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_custom_filename_with_partition[pyarrow] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_custom_filename_with_part0') engine = 'pyarrow' def test_custom_filename_with_partition(tmpdir, engine): fn = str(tmpdir) pdf = pd.DataFrame( { "first_name": ["frank", "li", "marcela", "luis"], "country": ["canada", "china", "venezuela", "venezuela"], }, ) df = dd.from_pandas(pdf, npartitions=4) df.to_parquet( fn, engine=engine, partition_on=["country"], name_function=lambda x: f"{x}-cool.parquet", write_index=False, ) for _, dirs, files in os.walk(fn): for dir in dirs: assert dir in ( "country=canada", "country=china", "country=venezuela", ) for file in files: assert file in ( *[f"{i}-cool.parquet" for i in range(df.npartitions)], "_common_metadata", "_metadata", ) actual = dd.read_parquet(fn, engine=engine, index=False) > assert_eq( pdf, actual, check_index=False, check_dtype=False, check_categorical=False ) dask/dataframe/io/tests/test_parquet.py:3666: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:548: in assert_eq b = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = first_name country 0 luis venezuela, key = 'country' value = 0 venezuela dtype: category Categories (3, object): ['canada', 'china', 'venezuela'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_roundtrip_partitioned_pyarrow_dataset[pyarrow] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_roundtrip_partitioned_pya0') engine = 'pyarrow' @PYARROW_MARK def test_roundtrip_partitioned_pyarrow_dataset(tmpdir, engine): # See: https://github.com/dask/dask/issues/8650 import pyarrow.parquet as pq from pyarrow.dataset import HivePartitioning, write_dataset # Sample data df = pd.DataFrame({"col1": [1, 2], "col2": ["a", "b"]}) # Write partitioned dataset with dask dask_path = tmpdir.mkdir("foo-dask") ddf = dd.from_pandas(df, npartitions=2) ddf.to_parquet(dask_path, engine=engine, partition_on=["col1"], write_index=False) # Write partitioned dataset with pyarrow pa_path = tmpdir.mkdir("foo-pyarrow") table = pa.Table.from_pandas(df) write_dataset( data=table, base_dir=pa_path, basename_template="part.{i}.parquet", format="parquet", partitioning=HivePartitioning(pa.schema([("col1", pa.int32())])), ) # Define simple function to ensure results should # be comparable (same column and row order) def _prep(x): return x.sort_values("col2")[["col1", "col2"]] # Check that reading dask-written data is the same for pyarrow and dask df_read_dask = dd.read_parquet(dask_path, engine=engine) df_read_pa = pq.read_table(dask_path).to_pandas() > assert_eq(_prep(df_read_dask), _prep(df_read_pa), check_index=False) dask/dataframe/io/tests/test_parquet.py:3705: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = col2 col1 0 b 2, key = 'col1' value = 0 2 dtype: category Categories (2, int32): [1, 2] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_combine _________________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_combine(): df1 = pd.DataFrame( { "A": np.random.choice([1, 2, np.nan], 100), "B": np.random.choice(["a", "b", "nan"], 100), } ) df2 = pd.DataFrame( { "A": np.random.choice([1, 2, 3], 100), "B": np.random.choice(["a", "b", "c"], 100), } ) ddf1 = from_pandas(df1, 4) ddf2 = from_pandas(df2, 5) first = lambda a, b: a # You can add series with strings and nans but you can't add scalars 'a' + np.nan str_add = lambda a, b: a + b if a is not np.nan else a # DataFrame for dda, ddb, a, b, runs in [ # (ddf1, ddf2, df1, df2, [(add, None), (first, None)]), (ddf1.A, ddf2.A, df1.A, df2.A, [(add, None), (add, 100), (first, None)]), ( ddf1.B, ddf2.B, df1.B, df2.B, [(str_add, None), (str_add, "d"), (first, None)], ), ]: for func, fill_value in runs: sol = a.combine(b, func, fill_value=fill_value) > assert_eq(dda.combine(ddb, func, fill_value=fill_value), sol) dask/dataframe/dask_expr/tests/test_collection.py:2326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask Series Structure: npartitions=8 0 float64 20 ... ... 80 ... 99 ... Dask Name: ...Expr=CombineSeriesAlign(frame=df['A'], other=df['A'], func=. at 0x7ffb848e4670>) b = 0 2.0 1 NaN 2 2.0 3 NaN 4 1.0 ... 95 1.0 96 2.0 97 NaN 98 1.0 99 2.0 Name: A, Length: 100, dtype: float64 serialize_graph = True, args = (), kwargs = {} obj = Dask Series Structure: npartitions=8 0 float64 20 ... ... 80 ... 99 ... Dask Name: ...Expr=CombineSeriesAlign(frame=df['A'], other=df['A'], func=. at 0x7ffb848e4670>) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7ffb848e4670> E when serializing tuple item 2 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('combine-7cb0609c45ee49ab5361d2c98b88db1d', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________ test_read_parquet_preserve_categorical_column_dtype ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_read_parquet_preserve_cat0') @PYARROW_MARK def test_read_parquet_preserve_categorical_column_dtype(tmp_path): df = pd.DataFrame({"a": [1, 2], "b": ["x", "y"]}) outdir = tmp_path / "out.parquet" df.to_parquet(outdir, partition_cols=["a"]) ddf = dd.read_parquet(outdir) expected = pd.DataFrame( {"b": ["x", "y"], "a": pd.Categorical(pd.Index([1, 2], dtype="int32"))}, index=[0, 0], ) > assert_eq(ddf, expected) dask/dataframe/io/tests/test_parquet.py:3989: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:545: in assert_eq a = _check_dask( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:435: in _check_dask result = dsk.compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:82: in __call__ return read_parquet_part( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/core.py:184: in read_parquet_part func( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/parquet/arrow.py:602: in read_partition df[partition.name] = pd.Series( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = b a 0 y 2, key = 'a' value = 0 2 dtype: category Categories (2, int32): [1, 2] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_query_index_from_query __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 db = 'sqlite:////tmp/tmpn_xujt6u' def test_query_index_from_query(db): from sqlalchemy import sql number = sql.column("number") name = sql.column("name") s1 = sql.select(number, name, sql.func.length(name).label("lenname")).select_from( sql.table("test") ) out = read_sql_query(s1, db, npartitions=2, index_col="lenname") lenname_df = df.copy() > lenname_df["lenname"] = lenname_df["name"].str.len() dask/dataframe/io/tests/test_sql.py:427: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = name age negish number 0 Alice 33 -5 1 Bob 40 -3 2 ... 3 3 Dora 16 5 4 Edith 53 0 5 Francis 30 0 6 Garreth 20 0 key = 'lenname' value = number 0 5 1 3 2 5 3 4 4 5 5 7 6 7 Name: name, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_to_sql[False-2] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, parallel = False @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("parallel", (False, True)) def test_to_sql(npartitions, parallel): df_by_age = df.set_index("age") df_appended = pd.concat( [ df, df, ] ) ddf = dd.from_pandas(df, npartitions) ddf_by_age = ddf.set_index("age") # Simple round trip test: use existing "number" index_col with tmp_db_uri() as uri: ddf.to_sql("test", uri, parallel=parallel) result = read_sql_table("test", uri, "number") assert_eq(df, result) # Test writing no index, and reading back in with one of the other columns as index (`read_sql_table` requires # an index_col) with tmp_db_uri() as uri: ddf.to_sql("test", uri, parallel=parallel, index=False) result = read_sql_table("test", uri, "negish") assert_eq(df.set_index("negish"), result) result = read_sql_table("test", uri, "age") assert_eq(df_by_age, result) # Index by "age" instead with tmp_db_uri() as uri: > ddf_by_age.to_sql("test", uri, parallel=parallel) dask/dataframe/io/tests/test_sql.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2409: in to_sql return to_sql( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/sql.py:588: in to_sql for d in df.to_delayed(): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2506: in to_delayed frame = self.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [name, age, negish] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_to_sql[True-2] ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, parallel = True @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("parallel", (False, True)) def test_to_sql(npartitions, parallel): df_by_age = df.set_index("age") df_appended = pd.concat( [ df, df, ] ) ddf = dd.from_pandas(df, npartitions) ddf_by_age = ddf.set_index("age") # Simple round trip test: use existing "number" index_col with tmp_db_uri() as uri: ddf.to_sql("test", uri, parallel=parallel) result = read_sql_table("test", uri, "number") assert_eq(df, result) # Test writing no index, and reading back in with one of the other columns as index (`read_sql_table` requires # an index_col) with tmp_db_uri() as uri: ddf.to_sql("test", uri, parallel=parallel, index=False) result = read_sql_table("test", uri, "negish") assert_eq(df.set_index("negish"), result) result = read_sql_table("test", uri, "age") assert_eq(df_by_age, result) # Index by "age" instead with tmp_db_uri() as uri: > ddf_by_age.to_sql("test", uri, parallel=parallel) dask/dataframe/io/tests/test_sql.py:510: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2409: in to_sql return to_sql( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/io/sql.py:582: in to_sql for d in df.to_delayed() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2506: in to_delayed frame = self.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [name, age, negish] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_assign_projection_mix __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_projection_mix(): data = { "date": [ "2024-03-22 18:13:36.801000", "2024-03-22 18:14:11.457000", "2024-04-02 06:05:01.658000", "2024-04-02 06:05:04.870000", "2024-04-03 06:11:30.202000", ], "code": [1.0, 3.0, 6.0, 6.0, 8.0], "first": pd.NaT, "first_2": pd.NaT, "second": pd.NaT, "second_2": pd.NaT, "third": pd.NaT, } df = pd.DataFrame(data) > df["date"] = pd.to_datetime(df["date"]) dask/dataframe/dask_expr/tests/test_collection.py:2690: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = date code first first_2 second second_2 third 0 2024-03-22 18:13:36.801000 1.0 NaT ...70000 6.0 NaT NaT NaT NaT NaT 4 2024-04-03 06:11:30.202000 8.0 NaT NaT NaT NaT NaT key = 'date' value = 0 2024-03-22 18:13:36.801 1 2024-03-22 18:14:11.457 2 2024-04-02 06:05:01.658 3 2024-04-02 06:05:04.870 4 2024-04-03 06:11:30.202 Name: date, dtype: datetime64[ns] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_empty_from_pandas_projection _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_empty_from_pandas_projection(): pdf = pd.DataFrame({"x": [1, 2, 3]}) df = from_pandas(pdf, npartitions=2) foo = pd.Series(["a"] * 20, dtype="category") > df["foo"] = from_pandas(foo, npartitions=1) dask/dataframe/dask_expr/tests/test_collection.py:2751: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'foo' value = Series([], dtype: category Categories (1, object): ['a']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_binop_scalar_left ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_binop_scalar_left(): pdf = pd.DataFrame( { "x": [0, 1, 0, 1], "y": [0, 0, 1, 1], "z": [1, 2, 3, 4], "beam_flag": [5, 0, 0, 0], "ping_number": [0] * 4, "beam_number": [0] * 4, "filename": [0] * 4, } ) df = from_pandas(pdf, npartitions=1) > df["cell_x"] = ((df.x - df.x.min()) // 1).astype("uint32") dask/dataframe/dask_expr/tests/test_collection.py:2770: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z, beam_flag, ping_number, beam_number, filename] Index: [] key = 'cell_x', value = Series([], Name: x, dtype: uint32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_align_known_divisions_in_assign _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_align_known_divisions_in_assign(): df = pd.DataFrame({"a": [1, 2], 1: [5, 6]}) ddf = from_pandas(df, npartitions=2) > ddf = ddf.assign(c=df["a"]) dask/dataframe/dask_expr/tests/test_collection.py:2814: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, 1] Index: [], key = 'c' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_concat_ignore_order ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_concat_ignore_order(): pdf1 = pd.DataFrame( { "x": pd.Categorical( ["a", "b", "c", "a"], categories=["a", "b", "c"], ordered=True ) } ) ddf1 = from_pandas(pdf1, 2) pdf2 = pd.DataFrame( {"x": pd.Categorical(["c", "b", "a"], categories=["c", "b", "a"], ordered=True)} ) ddf2 = from_pandas(pdf2, 2) expected = pd.concat([pdf1, pdf2]) > expected["x"] = expected["x"].astype("category") dask/dataframe/dask_expr/tests/test_concat.py:158: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 a 1 b 2 c 3 a 0 c 1 b 2 a, key = 'x' value = 0 a 1 b 2 c 3 a 0 c 1 b 2 a Name: x, dtype: category Categories (3, object): ['a', 'b', 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_optimize_fusion_many ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_optimize_fusion_many(): # Test that many `Blockwise`` operations, # originating from various IO operations, # can all be fused together a = from_pandas(pd.DataFrame({"x": range(100), "y": range(100)}), 10) b = from_pandas(pd.DataFrame({"a": range(100)}), 10) # some generic elemwise operations aa = a[["x"]] + 1 > aa["a"] = a["y"] + a["x"] dask/dataframe/dask_expr/tests/test_fusion.py:59: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'a' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_groupby_reduction_optimize ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 99 ... ... ... Dask Name: replace, 2 expressions Expr=Replace(frame=df, to_replace=1, value=5) def test_groupby_reduction_optimize(pdf, df): df = df.replace(1, 5) agg = df.groupby(df.x).y.sum() expected_query = df[["x", "y"]] expected_query = expected_query.groupby(expected_query.x).y.sum() assert agg.optimize()._name == expected_query.optimize()._name expect = pdf.replace(1, 5).groupby(["x"]).y.sum() assert_eq(agg, expect) df2 = df[["y"]] agg = df2.groupby(df.x).y.sum() ops = [ op for op in agg.expr.optimize(fuse=False).walk() if isinstance(op, FromPandas) ] assert len(ops) == 1 assert ops[0].columns == ["x", "y"] df2 = df[["y"]] with pytest.warns(UserWarning, match="inferred from partial data"): agg = df2.groupby(df.x).y.apply(lambda x: x) ops = [ > op for op in agg.expr.optimize(fuse=False).walk() if isinstance(op, FromPandas) ] dask/dataframe/dask_expr/tests/test_groupby.py:120: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_0' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_datetime_std_creates_copy_cols[False-0] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, numeric_only = False @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_creates_copy_cols(axis, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426700 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426700 + (i * 300000)) for i in range(10) ], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} # Series test (same line twice to make sure data structure wasn't mutated) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) # DataFrame test (same line twice to make sure data structure wasn't mutated) expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_datetime_std_creates_copy_cols[False-1] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, numeric_only = False @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_creates_copy_cols(axis, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426700 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426700 + (i * 300000)) for i in range(10) ], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} # Series test (same line twice to make sure data structure wasn't mutated) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) # DataFrame test (same line twice to make sure data structure wasn't mutated) expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_groupby_group_keys[True] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 group_keys = True pdf = y z x 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 .. .. .. 5 95 1 6 96 1 7 97 1 8 98 1 9 99 1 [100 rows x 2 columns] @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, npartitions=10) func = lambda g: g.copy() expected = pdf.groupby("x").apply(func) > assert_eq(expected, df.groupby("x").apply(func, meta=expected)) dask/dataframe/dask_expr/tests/test_groupby.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = y z x x 0 0 0 1 0 10 1 0 20 1 0 30 1 0 40 1 .. .. .. 9 9 59 1 9 69 1 9 79 1 9 89 1 9 99 1 [100 rows x 2 columns] b = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7ffb849d0720> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-19b909e9ac54b797d3e7f3292668381a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ________________________ test_groupby_group_keys[False] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 group_keys = False pdf = y z x 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 .. .. .. 5 95 1 6 96 1 7 97 1 8 98 1 9 99 1 [100 rows x 2 columns] @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, npartitions=10) func = lambda g: g.copy() expected = pdf.groupby("x").apply(func) > assert_eq(expected, df.groupby("x").apply(func, meta=expected)) dask/dataframe/dask_expr/tests/test_groupby.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = y z x x 0 0 0 1 0 10 1 0 20 1 0 30 1 0 40 1 .. .. .. 9 9 59 1 9 69 1 9 79 1 9 89 1 9 99 1 [100 rows x 2 columns] b = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7ffb849d0720> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-19b909e9ac54b797d3e7f3292668381a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________________ test_datetime_std_creates_copy_cols[None-0] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, numeric_only = None @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_creates_copy_cols(axis, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426700 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426700 + (i * 300000)) for i in range(10) ], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} # Series test (same line twice to make sure data structure wasn't mutated) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) # DataFrame test (same line twice to make sure data structure wasn't mutated) expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_groupby_group_keys[None] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 group_keys = None pdf = y z x 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 .. .. .. 5 95 1 6 96 1 7 97 1 8 98 1 9 99 1 [100 rows x 2 columns] @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys, pdf): pdf = pdf.set_index("x") df = from_pandas(pdf, npartitions=10) func = lambda g: g.copy() expected = pdf.groupby("x").apply(func) > assert_eq(expected, df.groupby("x").apply(func, meta=expected)) dask/dataframe/dask_expr/tests/test_groupby.py:245: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = y z x x 0 0 0 1 0 10 1 0 20 1 0 30 1 0 40 1 .. .. .. 9 9 59 1 9 69 1 9 79 1 9 89 1 9 99 1 [100 rows x 2 columns] b = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: y z npartitions=10 0 int64 int64 1 ...me=df, observed=False, func=. at 0x7ffb849d0720>, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7ffb849d0720> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-19b909e9ac54b797d3e7f3292668381a', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________________ test_datetime_std_creates_copy_cols[None-1] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, numeric_only = None @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_creates_copy_cols(axis, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426700 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426700 + (i * 300000)) for i in range(10) ], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} # Series test (same line twice to make sure data structure wasn't mutated) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) assert_eq(ddf["dt1"].std(**kwargs), pdf["dt1"].std(**kwargs)) # DataFrame test (same line twice to make sure data structure wasn't mutated) expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[False-False-0] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, skipna = False, numeric_only = False @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[False-False-1] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, skipna = False, numeric_only = False @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[False-True-0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, skipna = True, numeric_only = False @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[False-True-1] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, skipna = True, numeric_only = False @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[None-False-0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, skipna = False, numeric_only = None @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_datetime_std_with_larger_dataset[None-False-1] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, skipna = False, numeric_only = None @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_datetime_std_with_larger_dataset[None-True-0] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 0, skipna = True, numeric_only = None @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_datetime_std_with_larger_dataset[None-True-1] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 axis = 1, skipna = True, numeric_only = None @pytest.mark.filterwarnings("ignore::RuntimeWarning") @pytest.mark.parametrize("axis", [0, 1]) @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_with_larger_dataset(axis, skipna, numeric_only): num_rows = 250 dt1 = pd.concat( [ pd.Series([pd.NaT] * 15, index=range(15)), pd.to_datetime( pd.Series( [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(num_rows - 15) ], index=range(15, 250), ) ), ], ignore_index=False, ) base_numbers = [ (1638290040706793300 + (i * 69527182702409)) for i in range(num_rows) ] pdf = pd.DataFrame( {"dt1": dt1, "dt2": pd.to_datetime(pd.Series(base_numbers))}, index=range(250) ) for i in range(3, 8): pdf[f"dt{i}"] = pd.to_datetime( pd.Series([int(x + (0.12 * i)) for x in base_numbers]) ) ddf = dd.from_pandas(pdf, 8) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna # Same thing but as Series. No axis, since axis=1 raises error assert_near_timedeltas(ddf["dt1"].std(**kwargs).compute(), pdf["dt1"].std(**kwargs)) # Computation on full dataset expected = pdf.std(axis=axis, **kwargs) > result = ddf.std(axis=axis, **kwargs).compute() dask/dataframe/tests/test_arithmetics_reduction.py:1367: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1, dt2, dt3, dt4, dt5, dt6, dt7] Index: [] key = 'dt1', value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_datetime_std_across_axis1_null_results[False-False] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 skipna = False, numeric_only = False @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_across_axis1_null_results(skipna, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426704 + (i * 217790)) for i in range(10) ], "nums": [i for i in range(10)], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna ctx = contextlib.nullcontext() success = True if numeric_only is False or numeric_only is None: ctx = pytest.raises(TypeError) success = False elif numeric_only is None: ctx = pytest.warns(FutureWarning, match="numeric_only") # Single column always results in NaT expected = pdf[["dt1"]].std(axis=1, **kwargs) > result = ddf[["dt1"]].std(axis=1, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_datetime_std_across_axis1_null_results[False-True] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 skipna = True, numeric_only = False @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_across_axis1_null_results(skipna, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426704 + (i * 217790)) for i in range(10) ], "nums": [i for i in range(10)], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna ctx = contextlib.nullcontext() success = True if numeric_only is False or numeric_only is None: ctx = pytest.raises(TypeError) success = False elif numeric_only is None: ctx = pytest.warns(FutureWarning, match="numeric_only") # Single column always results in NaT expected = pdf[["dt1"]].std(axis=1, **kwargs) > result = ddf[["dt1"]].std(axis=1, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_datetime_std_across_axis1_null_results[None-False] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 skipna = False, numeric_only = None @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_across_axis1_null_results(skipna, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426704 + (i * 217790)) for i in range(10) ], "nums": [i for i in range(10)], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna ctx = contextlib.nullcontext() success = True if numeric_only is False or numeric_only is None: ctx = pytest.raises(TypeError) success = False elif numeric_only is None: ctx = pytest.warns(FutureWarning, match="numeric_only") # Single column always results in NaT expected = pdf[["dt1"]].std(axis=1, **kwargs) > result = ddf[["dt1"]].std(axis=1, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_datetime_std_across_axis1_null_results[None-True] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 skipna = True, numeric_only = None @pytest.mark.parametrize("skipna", [False, True]) @pytest.mark.parametrize("numeric_only", [True, False, None]) def test_datetime_std_across_axis1_null_results(skipna, numeric_only): pdf = pd.DataFrame( { "dt1": [ datetime.fromtimestamp(1636426704 + (i * 250000)) for i in range(10) ], "dt2": [ datetime.fromtimestamp(1636426704 + (i * 217790)) for i in range(10) ], "nums": [i for i in range(10)], } ) ddf = dd.from_pandas(pdf, 3) kwargs = {} if numeric_only is None else {"numeric_only": numeric_only} kwargs["skipna"] = skipna ctx = contextlib.nullcontext() success = True if numeric_only is False or numeric_only is None: ctx = pytest.raises(TypeError) success = False elif numeric_only is None: ctx = pytest.warns(FutureWarning, match="numeric_only") # Single column always results in NaT expected = pdf[["dt1"]].std(axis=1, **kwargs) > result = ddf[["dt1"]].std(axis=1, **kwargs) dask/dataframe/tests/test_arithmetics_reduction.py:1401: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1569: in std numeric_dd[col] = _convert_to_numeric(numeric_dd[col], skipna) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [dt1] Index: [], key = 'dt1' value = Series([], Name: dt1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________________ test_groupby_apply ______________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] @pytest.mark.filterwarnings("ignore:DataFrameGroupBy.apply operated ") def test_groupby_apply(df, pdf): def test(x): x["new"] = x.sum().sum() return x with pytest.warns(UserWarning, match="inferred from partial data"): > assert_eq(df.groupby(df.x).apply(test), pdf.groupby(pdf.x).apply(test)) dask/dataframe/dask_expr/tests/test_groupby.py:403: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z new npartitions=4 ...erved=False, func=.test at 0x7ffb6b4b21f0>, meta=, args=(), kwargs={}) b = x y z new x 0 0 0 0 1 460 10 0 10 1 460 20 0 20 1 460 30 0 30 1 46... 9 59 1 640 69 9 69 1 640 79 9 79 1 640 89 9 89 1 640 99 9 99 1 640 [100 rows x 4 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z new npartitions=4 ...erved=False, func=.test at 0x7ffb6b4b21f0>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .test at 0x7ffb6b4b21f0> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-9f9763b8a5faf1b7ddeee17b40fef806', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ____________________________ test_groupby_transform ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] @pytest.mark.filterwarnings("ignore:DataFrameGroupBy.apply operated ") def test_groupby_transform(df, pdf): def test(x): return x with pytest.warns(UserWarning, match="inferred from partial data"): > assert_eq(df.groupby(df.x).transform(test), pdf.groupby(pdf.x).transform(test)) dask/dataframe/dask_expr/tests/test_groupby.py:439: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: y z npartitions=4 int64 int64 ...d=False, func=.test at 0x7ffb6b4b0e00>, meta=, args=(), kwargs={}) b = y z 0 0 1 1 1 1 2 2 1 3 3 1 4 4 1 .. .. .. 95 95 1 96 96 1 97 97 1 98 98 1 99 99 1 [100 rows x 2 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: y z npartitions=4 int64 int64 ...d=False, func=.test at 0x7ffb6b4b0e00>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .test at 0x7ffb6b4b0e00> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-d8515154329829420652ee79891c5b0b', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError ___________________ test_groupby_numeric_only_lambda_caller ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] def test_groupby_numeric_only_lambda_caller(df, pdf): > assert_eq( df.groupby(lambda x: x // 2).mean(numeric_only=False), pdf.groupby(lambda x: x // 2).mean(numeric_only=False), ) dask/dataframe/dask_expr/tests/test_groupby.py:492: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=1 ...xpressions Expr=df.mean(observed=False, chunk_kwargs={'numeric_only': False}, aggregate_kwargs={'numeric_only': False}) b = x y z 0 0.5 0.5 1.0 1 2.5 2.5 1.0 2 4.5 4.5 1.0 3 6.5 6.5 1.0 4 8.5 8.5 1.0 5 ... 1.0 44 8.5 88.5 1.0 45 0.5 90.5 1.0 46 2.5 92.5 1.0 47 4.5 94.5 1.0 48 6.5 96.5 1.0 49 8.5 98.5 1.0 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=1 ...xpressions Expr=df.mean(observed=False, chunk_kwargs={'numeric_only': False}, aggregate_kwargs={'numeric_only': False}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object . at 0x7ffb68b750c0> E when serializing tuple item 1 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_mean_chunk-b772c1eeb342115acef13ee47d4e02bb', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _______________________________ test_categorize ________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorize(): # rename y to y_ to avoid pandas future warning about ambiguous # levels pdf = frames4[0] if pyarrow_strings_enabled(): # we explicitly provide meta, so it has to have pyarrow strings pdf = to_pyarrow_string(pdf) dsk = {("unknown", i): df for (i, df) in enumerate(frames3)} pdf = ( pd.concat(dsk.values()) .rename(columns={"y": "y_"}) .astype({"w": "category", "y_": "category"}) ) pdf.index = pdf.index.astype("category") ddf = dd.from_pandas(pdf, npartitions=4, sort=False) > ddf["w"] = ddf.w.cat.as_unknown() dask/dataframe/tests/test_categorical.py:206: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [v, w, x, y_, z] Index: [], key = 'w' value = Series([], Name: w, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_categorical_set_index[disk] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk' def test_categorical_set_index(shuffle_method): df = pd.DataFrame({"x": [1, 2, 3, 4], "y": ["a", "b", "b", "c"]}) > df["y"] = pd.Categorical(df["y"], categories=["a", "b", "c"], ordered=True) dask/dataframe/tests/test_categorical.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 1 a 1 2 b 2 3 b 3 4 c, key = 'y' value = ['a', 'b', 'b', 'c'] Categories (3, object): ['a' < 'b' < 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_categorical_set_index[tasks] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_categorical_set_index(shuffle_method): df = pd.DataFrame({"x": [1, 2, 3, 4], "y": ["a", "b", "b", "c"]}) > df["y"] = pd.Categorical(df["y"], categories=["a", "b", "c"], ordered=True) dask/dataframe/tests/test_categorical.py:316: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 1 a 1 2 b 2 3 b 3 4 c, key = 'y' value = ['a', 'b', 'b', 'c'] Categories (3, object): ['a' < 'b' < 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[1-1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, ncategories = 1 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[1-3] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, ncategories = 3 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[1-6] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, ncategories = 6 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[3-1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3, ncategories = 1 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[3-3] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3, ncategories = 3 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_apply_or_transform_shuffle_multilevel[0-True] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df func = at 0x7ffb942a1220>, cow = True @pytest.mark.parametrize("cow", [True, False]) @pytest.mark.parametrize( "func", [ lambda grouped: grouped.apply(lambda x: x.sum()), lambda grouped: grouped.transform(lambda x: x.sum()), ], ) def test_apply_or_transform_shuffle_multilevel(pdf, df, func, cow): with pd.option_context("mode.copy_on_write", cow): grouper = lambda df: [df["x"] + 1, df["y"] + 1] with pytest.warns(UserWarning): # DataFrameGroupBy > assert_eq(func(df.groupby(grouper(df))), func(pdf.groupby(grouper(pdf)))) dask/dataframe/dask_expr/tests/test_groupby.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b74e00>, meta=, args=(), kwargs={}) b = x y z x y 1 1 0 0 1 11 0 10 1 21 0 20 1 31 0 30 1 41 0 40 1... .. .. .. 10 60 9 59 1 70 9 69 1 80 9 79 1 90 9 89 1 100 9 99 1 [100 rows x 3 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b74e00>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .. at 0x7ffb68b74e00> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-9caa5e86dde399f8c78b35d964027ee8', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________ test_apply_or_transform_shuffle_multilevel[0-False] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df func = at 0x7ffb942a1220>, cow = False @pytest.mark.parametrize("cow", [True, False]) @pytest.mark.parametrize( "func", [ lambda grouped: grouped.apply(lambda x: x.sum()), lambda grouped: grouped.transform(lambda x: x.sum()), ], ) def test_apply_or_transform_shuffle_multilevel(pdf, df, func, cow): with pd.option_context("mode.copy_on_write", cow): grouper = lambda df: [df["x"] + 1, df["y"] + 1] with pytest.warns(UserWarning): # DataFrameGroupBy > assert_eq(func(df.groupby(grouper(df))), func(pdf.groupby(grouper(pdf)))) dask/dataframe/dask_expr/tests/test_groupby.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b74e00>, meta=, args=(), kwargs={}) b = x y z x y 1 1 0 0 1 11 0 10 1 21 0 20 1 31 0 30 1 41 0 40 1... .. .. .. 10 60 9 59 1 70 9 69 1 80 9 79 1 90 9 89 1 100 9 99 1 [100 rows x 3 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b74e00>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .. at 0x7ffb68b74e00> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-9caa5e86dde399f8c78b35d964027ee8', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError __________ test_categorical_set_index_npartitions_vs_ncategories[3-6] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3, ncategories = 6 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_apply_or_transform_shuffle_multilevel[1-True] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df func = at 0x7ffb942a12d0>, cow = True @pytest.mark.parametrize("cow", [True, False]) @pytest.mark.parametrize( "func", [ lambda grouped: grouped.apply(lambda x: x.sum()), lambda grouped: grouped.transform(lambda x: x.sum()), ], ) def test_apply_or_transform_shuffle_multilevel(pdf, df, func, cow): with pd.option_context("mode.copy_on_write", cow): grouper = lambda df: [df["x"] + 1, df["y"] + 1] with pytest.warns(UserWarning): # DataFrameGroupBy > assert_eq(func(df.groupby(grouper(df))), func(pdf.groupby(grouper(pdf)))) dask/dataframe/dask_expr/tests/test_groupby.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b75380>, meta=, args=(), kwargs={}) b = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b75380>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .. at 0x7ffb68b75380> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-ecef59697688b9bbb4fdc88c7f956a94', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _________ test_apply_or_transform_shuffle_multilevel[1-False] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 pdf = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] df = Dask DataFrame Structure: x y z npartitions=4 0 int64 ... ... 75 ... ... ... 99 ... ... ... Dask Name: frompandas, 1 expression Expr=df func = at 0x7ffb942a12d0>, cow = False @pytest.mark.parametrize("cow", [True, False]) @pytest.mark.parametrize( "func", [ lambda grouped: grouped.apply(lambda x: x.sum()), lambda grouped: grouped.transform(lambda x: x.sum()), ], ) def test_apply_or_transform_shuffle_multilevel(pdf, df, func, cow): with pd.option_context("mode.copy_on_write", cow): grouper = lambda df: [df["x"] + 1, df["y"] + 1] with pytest.warns(UserWarning): # DataFrameGroupBy > assert_eq(func(df.groupby(grouper(df))), func(pdf.groupby(grouper(pdf)))) dask/dataframe/dask_expr/tests/test_groupby.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b75380>, meta=, args=(), kwargs={}) b = x y z 0 0 0 1 1 1 1 1 2 2 2 1 3 3 3 1 4 4 4 1 .. .. .. .. 95 5 95 1 96 6 96 1 97 7 97 1 98 8 98 1 99 9 99 1 [100 rows x 3 columns] serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: x y z npartitions=4 int64 ...f, observed=False, func=.. at 0x7ffb68b75380>, meta=, args=(), kwargs={}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .. at 0x7ffb68b75380> E when serializing dict item 'func' E when serializing tuple item 2 E when serializing functools.partial state E when serializing functools.partial object E when serializing dict item 'dask_func' E when serializing tuple item 8 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('operation-ecef59697688b9bbb4fdc88c7f956a94', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError __________ test_categorical_set_index_npartitions_vs_ncategories[6-1] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 6, ncategories = 1 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[6-3] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 6, ncategories = 3 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_categorical_set_index_npartitions_vs_ncategories[6-6] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 6, ncategories = 6 @pytest.mark.parametrize("ncategories", [1, 3, 6]) @pytest.mark.parametrize("npartitions", [1, 3, 6]) def test_categorical_set_index_npartitions_vs_ncategories(npartitions, ncategories): """https://github.com/dask/dask/issues/5343""" rows_per_category = 10 n_rows = ncategories * rows_per_category categories = ["CAT" + str(i) for i in range(ncategories)] pdf = pd.DataFrame( {"id": categories * rows_per_category, "value": np.random.random(n_rows)} ) ddf = dd.from_pandas(pdf, npartitions=npartitions) > ddf["id"] = ddf["id"].astype("category").cat.as_ordered() dask/dataframe/tests/test_categorical.py:348: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [id, value] Index: [], key = 'id' value = Series([], Name: id, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_repartition_on_categoricals[1] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1 @pytest.mark.parametrize("npartitions", [1, 4]) def test_repartition_on_categoricals(npartitions): df = pd.DataFrame({"x": range(10), "y": list("abababcbcb")}) if pyarrow_strings_enabled(): # we need this because a CategoricalDtype backed by arrow strings # is not the same as CategoricalDtype backed by object strings df = to_pyarrow_string(df) ddf = dd.from_pandas(df, npartitions=2) > ddf["y"] = ddf["y"].astype("category") dask/dataframe/tests/test_categorical.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_repartition_on_categoricals[4] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 4 @pytest.mark.parametrize("npartitions", [1, 4]) def test_repartition_on_categoricals(npartitions): df = pd.DataFrame({"x": range(10), "y": list("abababcbcb")}) if pyarrow_strings_enabled(): # we need this because a CategoricalDtype backed by arrow strings # is not the same as CategoricalDtype backed by object strings df = to_pyarrow_string(df) ddf = dd.from_pandas(df, npartitions=2) > ddf["y"] = ddf["y"].astype("category") dask/dataframe/tests/test_categorical.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_categorize_nan ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorize_nan(): df = dd.from_pandas( pd.DataFrame({"A": ["a", "b", "a", float("nan")]}), npartitions=2 ) with warnings.catch_warnings(record=True) as record: > df.categorize().compute() dask/dataframe/tests/test_categorical.py:392: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A] Index: [], key = 'A' value = Series([], Name: A, dtype: category Categories (2, string): [a, b]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_return_type_known_categories _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_return_type_known_categories(): df = pd.DataFrame({"A": ["a", "b", "c"]}) > df["A"] = df["A"].astype("category") dask/dataframe/tests/test_categorical.py:411: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A 0 a 1 b 2 c, key = 'A' value = 0 a 1 b 2 c Name: A, dtype: category Categories (3, object): ['a', 'b', 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-None-None-subset0] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = None, percentiles = None, subset = ['c', 'd'] @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-None-None-subset1] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = None, percentiles = None, subset = ['c', 'd', 'f'] @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-None-None-subset2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = None, percentiles = None, subset = ['c', 'd', 'g'] @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-None-None-subset3] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = None, percentiles = None subset = ['c', 'd', 'f', 'g'] @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-None-None-subset4] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = None, percentiles = None, subset = ['f', 'g'] @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_describe[all-None-None-None] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = 'all', exclude = None, percentiles = None, subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_describe[include6-None-percentiles6-None] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = ['number'], exclude = None, percentiles = [0.25, 0.5], subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[include7-None-None-None] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = [], exclude = None, percentiles = None subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_describe[include8-None-percentiles8-None] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = ['number', string[pyarrow]], exclude = None percentiles = [0.25, 0.75], subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_describe[None-exclude9-None-None] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = ['number', string[pyarrow]], percentiles = None subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_describe[include10-None-None-None] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = [string[pyarrow], 'datetime', 'bool'], exclude = None percentiles = None, subset = None @pytest.mark.parametrize( "include,exclude,percentiles,subset", [ (None, None, None, ["c", "d"]), # numeric (None, None, None, ["c", "d", "f"]), # numeric + timedelta (None, None, None, ["c", "d", "g"]), # numeric + bool (None, None, None, ["c", "d", "f", "g"]), # numeric + bool + timedelta (None, None, None, ["f", "g"]), # bool + timedelta ("all", None, None, None), (["number"], None, [0.25, 0.5], None), ([np.timedelta64], None, None, None), (["number", get_string_dtype()], None, [0.25, 0.75], None), (None, ["number", get_string_dtype()], None, None), ([get_string_dtype(), "datetime", "bool"], None, None, None), ], ) def test_describe(include, exclude, percentiles, subset): data = { "a": ["aaa", "bbb", "bbb", None, None, "zzz"] * 2, "c": [None, 0, 1, 2, 3, 4] * 2, "d": [None, 0, 1] * 4, "e": [ pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 00:00:00.006000"), pd.Timestamp("2017-05-09 07:56:23.858694"), pd.Timestamp("2017-05-09 05:59:58.938999"), None, None, ] * 2, "f": [ np.timedelta64(3, "D"), np.timedelta64(1, "D"), None, None, np.timedelta64(3, "D"), np.timedelta64(1, "D"), ] * 2, "g": [True, False, True] * 4, } # Arrange df = pd.DataFrame(data) > df["a"] = df["a"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:429: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a c d e f g 0 aaa NaN NaN 2017-05-09 00:00:00.006000 3 days Tru...10 None 3.0 0.0 NaT 3 days False 11 zzz 4.0 1.0 NaT 1 days True key = 'a' value = 0 aaa 1 bbb 2 bbb 3 4 5 zzz 6 aaa 7 bbb 8 bbb 9 10 11 zzz Name: a, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_get_group[disk-True-0] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 categoricals = True, by = at 0x7ffb8f89f5e0> @pytest.mark.parametrize( "categoricals,by", [ (True, lambda df: "b"), (False, lambda df: "b"), (True, lambda df: df.b), (False, lambda df: df.b), (False, lambda df: df.b + 1), ], ) def test_groupby_get_group(categoricals, by): dsk = { ("x", 0): pd.DataFrame({"a": [1, 2, 6], "b": [4, 2, 7]}, index=[0, 1, 3]), ("x", 1): pd.DataFrame({"a": [4, 2, 6], "b": [3, 3, 1]}, index=[5, 6, 8]), ("x", 2): pd.DataFrame({"a": [4, 3, 7], "b": [1, 1, 3]}, index=[9, 9, 9]), } ddf = dd.repartition(pd.concat(dsk.values()), divisions=[0, 4, 9, 9]) if categoricals: > ddf = ddf.categorize(columns=["b"]) dask/dataframe/tests/test_groupby.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: category Categories (5, int64): [1, 2, 3, 4, 7]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_get_group[disk-True-1] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 categoricals = True, by = at 0x7ffb8f89f740> @pytest.mark.parametrize( "categoricals,by", [ (True, lambda df: "b"), (False, lambda df: "b"), (True, lambda df: df.b), (False, lambda df: df.b), (False, lambda df: df.b + 1), ], ) def test_groupby_get_group(categoricals, by): dsk = { ("x", 0): pd.DataFrame({"a": [1, 2, 6], "b": [4, 2, 7]}, index=[0, 1, 3]), ("x", 1): pd.DataFrame({"a": [4, 2, 6], "b": [3, 3, 1]}, index=[5, 6, 8]), ("x", 2): pd.DataFrame({"a": [4, 3, 7], "b": [1, 1, 3]}, index=[9, 9, 9]), } ddf = dd.repartition(pd.concat(dsk.values()), divisions=[0, 4, 9, 9]) if categoricals: > ddf = ddf.categorize(columns=["b"]) dask/dataframe/tests/test_groupby.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: category Categories (5, int64): [1, 2, 3, 4, 7]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_get_group[tasks-True-0] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 categoricals = True, by = at 0x7ffb8f89f5e0> @pytest.mark.parametrize( "categoricals,by", [ (True, lambda df: "b"), (False, lambda df: "b"), (True, lambda df: df.b), (False, lambda df: df.b), (False, lambda df: df.b + 1), ], ) def test_groupby_get_group(categoricals, by): dsk = { ("x", 0): pd.DataFrame({"a": [1, 2, 6], "b": [4, 2, 7]}, index=[0, 1, 3]), ("x", 1): pd.DataFrame({"a": [4, 2, 6], "b": [3, 3, 1]}, index=[5, 6, 8]), ("x", 2): pd.DataFrame({"a": [4, 3, 7], "b": [1, 1, 3]}, index=[9, 9, 9]), } ddf = dd.repartition(pd.concat(dsk.values()), divisions=[0, 4, 9, 9]) if categoricals: > ddf = ddf.categorize(columns=["b"]) dask/dataframe/tests/test_groupby.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: category Categories (5, int64): [1, 2, 3, 4, 7]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_get_group[tasks-True-1] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 categoricals = True, by = at 0x7ffb8f89f740> @pytest.mark.parametrize( "categoricals,by", [ (True, lambda df: "b"), (False, lambda df: "b"), (True, lambda df: df.b), (False, lambda df: df.b), (False, lambda df: df.b + 1), ], ) def test_groupby_get_group(categoricals, by): dsk = { ("x", 0): pd.DataFrame({"a": [1, 2, 6], "b": [4, 2, 7]}, index=[0, 1, 3]), ("x", 1): pd.DataFrame({"a": [4, 2, 6], "b": [3, 3, 1]}, index=[5, 6, 8]), ("x", 2): pd.DataFrame({"a": [4, 3, 7], "b": [1, 1, 3]}, index=[9, 9, 9]), } ddf = dd.repartition(pd.concat(dsk.values()), divisions=[0, 4, 9, 9]) if categoricals: > ddf = ddf.categorize(columns=["b"]) dask/dataframe/tests/test_groupby.py:364: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: category Categories (5, int64): [1, 2, 3, 4, 7]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[disk-cumsum-1] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[disk-cumsum-2] __________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[disk-cumprod-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[disk-cumprod-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[disk-cumcount-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[disk-cumcount-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[tasks-cumsum-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_groupby_cumfunc_with_named_index[tasks-cumsum-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumsum' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[tasks-cumprod-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[tasks-cumprod-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumprod' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [y] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[tasks-cumcount-1] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 1, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:679: in compute keys = list(flatten(expr.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:1176: in __dask_keys__ all_keys.append(list(op.__dask_keys__())) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:94: in __dask_keys__ return [(self._name, i) for i in range(self.npartitions)] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:446: in npartitions return len(self.divisions) - 1 /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:1453: in _divisions return self.frame.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:594: in _divisions if not self._broadcast_dep(arg): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:585: in _broadcast_dep return dep.npartitions == 1 and dep.ndim < self.ndim /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:87: in ndim meta = self._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_assign __________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign(): df = pd.DataFrame( {"a": range(8), "b": [float(i) for i in range(10, 18)]}, index=pd.Index(list("abcdefgh")), ) ddf = dd.from_pandas(df, npartitions=3) ddf_unknown = dd.from_pandas(df, npartitions=3, sort=False).clear_divisions() assert not ddf_unknown.known_divisions > res = ddf.assign( c=1, d="string", e=ddf.a.sum(), f=ddf.a + ddf.b, g=lambda x: x.a + x.c, dt=pd.Timestamp(2018, 2, 13), ) dask/dataframe/tests/test_dataframe.py:1570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2803: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'c', value = 1 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_groupby_cumfunc_with_named_index[tasks-cumcount-2] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 2, func = 'cumcount' @pytest.mark.parametrize("npartitions", (1, 2)) @pytest.mark.parametrize("func", ("cumsum", "cumprod", "cumcount")) def test_series_groupby_cumfunc_with_named_index(npartitions, func): df = pd.DataFrame( {"x": [1, 2, 3, 4, 5, 6, 7], "y": [8, 9, 6, 2, 3, 5, 6]} ).set_index("x") ddf = dd.from_pandas(df, npartitions) assert ddf.npartitions == npartitions expected = getattr(df["y"].groupby("x"), func)() result = getattr(ddf["y"].groupby("x"), func)() > assert_eq(result, expected) dask/dataframe/tests/test_groupby.py:425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_x' value = Index([], dtype='int64', name='x') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_assign_callable _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_callable(): df = dd.from_pandas(pd.DataFrame({"A": range(10)}), npartitions=2) > a = df.assign(B=df.A.shift()) dask/dataframe/tests/test_dataframe.py:1623: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A] Index: [], key = 'B' value = Series([], Name: A, dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________________ test_assign_dtypes ______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_dtypes(): ddf = dd.from_pandas( pd.DataFrame( data={"col1": ["a", "b"], "col2": [1, 2]}, columns=["col1", "col2"] ), npartitions=2, ) new_col = {"col3": pd.Series(["0", "1"])} > res = ddf.assign(**new_col) dask/dataframe/tests/test_dataframe.py:1637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = 'col3' value = Series([], dtype: string) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_assign_pandas_series ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_pandas_series(): # Make sure we handle when `df.columns.min()` raises TypeError df = pd.DataFrame({"a": [1, 2], 1: [5, 6]}) ddf = dd.from_pandas(df, npartitions=2) > ddf = ddf.assign(c=df["a"]) dask/dataframe/tests/test_dataframe.py:1653: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, 1] Index: [], key = 'c' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_fillna_duplicate_index __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_fillna_duplicate_index(): @dask.delayed def f(): return pd.DataFrame(dict(a=[1.0], b=[np.nan])) ddf = dd.from_delayed([f(), f()], meta=dict(a=float, b=float)) > ddf.b = ddf.b.fillna(ddf.a) dask/dataframe/tests/test_dataframe.py:2444: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3073: in __setattr__ self[key] = value ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'b' value = Series([], Name: b, dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_fillna_series_types ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_fillna_series_types(): # https://github.com/dask/dask/issues/2809 df = pd.DataFrame({"A": [1, np.nan, 3], "B": [1, np.nan, 3]}) ddf = dd.from_pandas(df, npartitions=2) fill_value = pd.Series([1, 10], index=["A", "C"]) > assert_eq(ddf.fillna(fill_value), df.fillna(fill_value)) dask/dataframe/tests/test_dataframe.py:2483: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2006: in fillna return new_collection(self.expr.fillna(value)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:561: in _meta return self.operation(*args, **self._kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/utils.py:1226: in __call__ return getattr(__obj, self.method)(*args, **kwargs) /usr/lib64/python3.14/site-packages/pandas/core/generic.py:7387: in fillna result[k] = res_k _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = 'A' value = Series([], Name: A, dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_select_dtypes[include0-None] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = [], exclude = None @pytest.mark.parametrize( "include, exclude", [ ([int], None), (None, [int]), ([np.number, get_string_dtype()], [float]), (["datetime"], None), ], ) def test_select_dtypes(include, exclude): n = 10 df = pd.DataFrame( { "cint": [1] * n, "cstr": ["a"] * n, "clfoat": [1.0] * n, "cdt": pd.date_range("2016-01-01", periods=n), } ) > df["cstr"] = df["cstr"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:2568: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cint cstr clfoat cdt 0 1 a 1.0 2016-01-01 1 1 a 1.0 2016-01-02 2 1 a 1.0 2... a 1.0 2016-01-07 7 1 a 1.0 2016-01-08 8 1 a 1.0 2016-01-09 9 1 a 1.0 2016-01-10 key = 'cstr' value = 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a Name: cstr, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_select_dtypes[None-exclude1] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = None, exclude = [] @pytest.mark.parametrize( "include, exclude", [ ([int], None), (None, [int]), ([np.number, get_string_dtype()], [float]), (["datetime"], None), ], ) def test_select_dtypes(include, exclude): n = 10 df = pd.DataFrame( { "cint": [1] * n, "cstr": ["a"] * n, "clfoat": [1.0] * n, "cdt": pd.date_range("2016-01-01", periods=n), } ) > df["cstr"] = df["cstr"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:2568: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cint cstr clfoat cdt 0 1 a 1.0 2016-01-01 1 1 a 1.0 2016-01-02 2 1 a 1.0 2... a 1.0 2016-01-07 7 1 a 1.0 2016-01-08 8 1 a 1.0 2016-01-09 9 1 a 1.0 2016-01-10 key = 'cstr' value = 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a Name: cstr, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_select_dtypes[include2-exclude2] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = [, string[pyarrow]], exclude = [] @pytest.mark.parametrize( "include, exclude", [ ([int], None), (None, [int]), ([np.number, get_string_dtype()], [float]), (["datetime"], None), ], ) def test_select_dtypes(include, exclude): n = 10 df = pd.DataFrame( { "cint": [1] * n, "cstr": ["a"] * n, "clfoat": [1.0] * n, "cdt": pd.date_range("2016-01-01", periods=n), } ) > df["cstr"] = df["cstr"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:2568: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cint cstr clfoat cdt 0 1 a 1.0 2016-01-01 1 1 a 1.0 2016-01-02 2 1 a 1.0 2... a 1.0 2016-01-07 7 1 a 1.0 2016-01-08 8 1 a 1.0 2016-01-09 9 1 a 1.0 2016-01-10 key = 'cstr' value = 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a Name: cstr, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_select_dtypes[include3-None] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 include = ['datetime'], exclude = None @pytest.mark.parametrize( "include, exclude", [ ([int], None), (None, [int]), ([np.number, get_string_dtype()], [float]), (["datetime"], None), ], ) def test_select_dtypes(include, exclude): n = 10 df = pd.DataFrame( { "cint": [1] * n, "cstr": ["a"] * n, "clfoat": [1.0] * n, "cdt": pd.date_range("2016-01-01", periods=n), } ) > df["cstr"] = df["cstr"].astype(get_string_dtype()) dask/dataframe/tests/test_dataframe.py:2568: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cint cstr clfoat cdt 0 1 a 1.0 2016-01-01 1 1 a 1.0 2016-01-02 2 1 a 1.0 2... a 1.0 2016-01-07 7 1 a 1.0 2016-01-08 8 1 a 1.0 2016-01-09 9 1 a 1.0 2016-01-10 key = 'cstr' value = 0 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a Name: cstr, dtype: string def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_drop_columns[columns0] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 columns = ['b'] @pytest.mark.parametrize("columns", [["b"], []]) def test_drop_columns(columns): # Check both populated and empty list argument # https://github.com/dask/dask/issues/6870 df = pd.DataFrame( { "a": [2, 4, 6, 8], "b": ["1a", "2b", "3c", "4d"], } ) ddf = dd.from_pandas(df, npartitions=2) ddf2 = ddf.drop(columns=columns) > ddf["new"] = ddf["a"] + 1 # Check that ddf2 is not modified dask/dataframe/tests/test_dataframe.py:2731: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'new' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_drop_columns[columns1] __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 columns = [] @pytest.mark.parametrize("columns", [["b"], []]) def test_drop_columns(columns): # Check both populated and empty list argument # https://github.com/dask/dask/issues/6870 df = pd.DataFrame( { "a": [2, 4, 6, 8], "b": ["1a", "2b", "3c", "4d"], } ) ddf = dd.from_pandas(df, npartitions=2) ddf2 = ddf.drop(columns=columns) > ddf["new"] = ddf["a"] + 1 # Check that ddf2 is not modified dask/dataframe/tests/test_dataframe.py:2731: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'new' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_cov_corr_mixed[True] ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 numeric_only = True @pytest.mark.parametrize( "numeric_only", [ pytest.param( None, marks=pytest.mark.xfail(reason="fails with non-numeric data"), ), pytest.param( True, ), pytest.param( False, marks=[ pytest.mark.xfail(reason="fails with non-numeric data"), ], ), ], ) def test_cov_corr_mixed(numeric_only): size = 1000 d = { "dates": pd.date_range("2015-01-01", periods=size, freq="1min"), "unique_id": np.arange(0, size), "ints": np.random.randint(0, size, size=size), "floats": np.random.randn(size), "bools": np.random.choice([0, 1], size=size), "int_nans": np.random.choice([0, 1, np.nan], size=size), "float_nans": np.random.choice([0.0, 1.0, np.nan], size=size), "constant": 1, "int_categorical": np.random.choice([10, 20, 30, 40, 50], size=size), "categorical_binary": np.random.choice(["a", "b"], size=size), "categorical_nans": np.random.choice(["a", "b", "c"], size=size), } df = pd.DataFrame(d) > df["hardbools"] = df["bools"] == 1 dask/dataframe/tests/test_dataframe.py:3198: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = dates unique_id ... categorical_binary categorical_nans 0 2015-01-01 00:00:00 0 ... ... b 999 2015-01-01 16:39:00 999 ... b b [1000 rows x 11 columns] key = 'hardbools' value = 0 False 1 True 2 False 3 False 4 False ... 995 True 996 True 997 False 998 False 999 True Name: bools, Length: 1000, dtype: bool def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_astype_categoricals ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_astype_categoricals(): df = pd.DataFrame( { "x": ["a", "b", "c", "b", "c"], "y": ["x", "y", "z", "x", "y"], "z": [1, 2, 3, 4, 5], } ) df = df.astype({"y": "category"}) ddf = dd.from_pandas(df, 2) assert ddf.y.cat.known > ddf2 = ddf.astype({"x": "category"}) dask/dataframe/tests/test_dataframe.py:3436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1902: in astype return new_collection(self.expr.astype(dtypes)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1573: in _meta meta = clear_known_categories(meta, cols=set_unknown) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_astype_categoricals_known ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_astype_categoricals_known(): df = pd.DataFrame( { "x": ["a", "b", "c", "b", "c"], "y": ["x", "y", "z", "y", "z"], "z": ["b", "b", "b", "c", "b"], "other": [1, 2, 3, 4, 5], } ) ddf = dd.from_pandas(df, 2) abc = pd.api.types.CategoricalDtype(["a", "b", "c"], ordered=False) category = pd.api.types.CategoricalDtype(ordered=False) # DataFrame > ddf2 = ddf.astype({"x": abc, "y": category, "z": "category", "other": "f8"}) dask/dataframe/tests/test_dataframe.py:3463: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1902: in astype return new_collection(self.expr.astype(dtypes)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1573: in _meta meta = clear_known_categories(meta, cols=set_unknown) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z, other] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_gh_1301 _________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_gh_1301(): df = pd.DataFrame([["1", "2"], ["3", "4"]]) ddf = dd.from_pandas(df, npartitions=2) > ddf2 = ddf.assign(y=ddf[1].astype(int)) dask/dataframe/tests/test_dataframe.py:3518: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0, 1] Index: [], key = 'y' value = Series([], Name: 1, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_column_assignment ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_column_assignment(): df = pd.DataFrame({"x": [1, 2, 3, 4], "y": [1, 0, 1, 0]}) ddf = dd.from_pandas(df, npartitions=2) orig = ddf.copy() > ddf["z"] = ddf.x + ddf.y dask/dataframe/tests/test_dataframe.py:3574: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'z' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_array_assignment _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_array_assignment(): df = pd.DataFrame({"x": np.random.normal(size=50), "y": np.random.normal(size=50)}) ddf = dd.from_pandas(df, npartitions=2) orig = ddf.copy() arr = np.array(np.random.normal(size=50)) darr = da.from_array(arr, chunks=25) df["z"] = arr > ddf["z"] = darr dask/dataframe/tests/test_dataframe.py:3590: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'z' value = Series([], dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_columns_assignment ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_columns_assignment(): df = pd.DataFrame({"x": [1, 2, 3, 4]}) ddf = dd.from_pandas(df, npartitions=2) df2 = df.assign(y=df.x + 1, z=df.x - 1) df[["a", "b"]] = df2[["y", "z"]] > ddf2 = ddf.assign(y=ddf.x + 1, z=ddf.x - 1) dask/dataframe/tests/test_dataframe.py:3614: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'y' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_attribute_assignment ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_attribute_assignment(): df = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": [1.0, 2.0, 3.0, 4.0, 5.0]}) ddf = dd.from_pandas(df, npartitions=2) > ddf.y = ddf.x + ddf.y dask/dataframe/tests/test_dataframe.py:3624: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3073: in __setattr__ self[key] = value ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_setitem_triggering_realign ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_setitem_triggering_realign(): a = dd.from_pandas(pd.DataFrame({"A": range(12)}), npartitions=3) b = dd.from_pandas(pd.Series(range(12), name="B"), npartitions=4) > a["C"] = b dask/dataframe/tests/test_dataframe.py:3631: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A] Index: [], key = 'C' value = Series([], Name: B, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_inplace_operators ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_inplace_operators(): df = pd.DataFrame({"x": [1, 2, 3, 4, 5], "y": [1.0, 2.0, 3.0, 4.0, 5.0]}) ddf = dd.from_pandas(df, npartitions=2) > ddf["y"] **= 0.5 dask/dataframe/tests/test_dataframe.py:3639: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'y' value = Series([], Name: y, dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________________ test_copy ___________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_copy(): df = pd.DataFrame({"x": [1, 2, 3]}) a = dd.from_pandas(df, npartitions=2) b = a.copy() c = a.copy(deep=False) > a["y"] = a.x * 2 dask/dataframe/tests/test_dataframe.py:4079: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = 'y' value = Series([], Name: x, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_reduction_split[median-disk-split_every] _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 keyword = 'split_every', agg_func = 'median', shuffle_method = 'disk' @pytest.mark.parametrize("keyword", ["split_every", "split_out"]) def test_groupby_reduction_split(keyword, agg_func, shuffle_method): if agg_func in {"first", "last"} and shuffle_method == "disk": pytest.skip(reason="https://github.com/dask/dask/issues/10034") pdf = pd.DataFrame( {"a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 100, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 100} ) ddf = dd.from_pandas(pdf, npartitions=15) def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # DataFrame # nunique is not implemented for DataFrameGroupBy # covariance/correlation is not a series aggregation if agg_func not in ("nunique", "cov", "corr"): res = call(ddf.groupby("b", sort=False), agg_func, **{keyword: 2}) sol = call(pdf.groupby("b"), agg_func) assert_eq(res, sol) assert call(ddf.groupby("b"), agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False), "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b"), "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b"), "var", ddof=2)._name != res._name # Series, post select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.groupby("b", sort=False).a, agg_func, **{keyword: 2}) sol = call(pdf.groupby("b").a, agg_func) assert_eq(res, sol) assert call(ddf.groupby("b").a, agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False).a, "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b").a, "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b").a, "var", ddof=2)._name != res._name # Series, pre select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.a.groupby(ddf.b, sort=False), agg_func, **{keyword: 2}) sol = call(pdf.a.groupby(pdf.b), agg_func) # There's a bug in pandas 0.18.0 with `pdf.a.groupby(pdf.b).count()` # not forwarding the series name. Skip name checks here for now. > assert_eq(res, sol, check_names=False) dask/dataframe/tests/test_groupby.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_0' value = Series([], Name: b, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_groupby_reduction_split[median-disk-split_out] ______________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 keyword = 'split_out', agg_func = 'median', shuffle_method = 'disk' @pytest.mark.parametrize("keyword", ["split_every", "split_out"]) def test_groupby_reduction_split(keyword, agg_func, shuffle_method): if agg_func in {"first", "last"} and shuffle_method == "disk": pytest.skip(reason="https://github.com/dask/dask/issues/10034") pdf = pd.DataFrame( {"a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 100, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 100} ) ddf = dd.from_pandas(pdf, npartitions=15) def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # DataFrame # nunique is not implemented for DataFrameGroupBy # covariance/correlation is not a series aggregation if agg_func not in ("nunique", "cov", "corr"): res = call(ddf.groupby("b", sort=False), agg_func, **{keyword: 2}) sol = call(pdf.groupby("b"), agg_func) assert_eq(res, sol) assert call(ddf.groupby("b"), agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False), "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b"), "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b"), "var", ddof=2)._name != res._name # Series, post select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.groupby("b", sort=False).a, agg_func, **{keyword: 2}) sol = call(pdf.groupby("b").a, agg_func) assert_eq(res, sol) assert call(ddf.groupby("b").a, agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False).a, "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b").a, "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b").a, "var", ddof=2)._name != res._name # Series, pre select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.a.groupby(ddf.b, sort=False), agg_func, **{keyword: 2}) sol = call(pdf.a.groupby(pdf.b), agg_func) # There's a bug in pandas 0.18.0 with `pdf.a.groupby(pdf.b).count()` # not forwarding the series name. Skip name checks here for now. > assert_eq(res, sol, check_names=False) dask/dataframe/tests/test_groupby.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_0' value = Series([], Name: b, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative_multiple_columns _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_cumulative_multiple_columns(): # GH 3037 df = pd.DataFrame(np.random.randn(100, 5), columns=list("abcde")) ddf = dd.from_pandas(df, 5) for d in [ddf, df]: for c in df.columns: > d[c + "cs"] = d[c].cumsum() dask/dataframe/tests/test_dataframe.py:4460: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c, d, e] Index: [], key = 'acs' value = Series([], Name: a, dtype: float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_reduction_split[median-tasks-split_every] ____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 keyword = 'split_every', agg_func = 'median', shuffle_method = 'tasks' @pytest.mark.parametrize("keyword", ["split_every", "split_out"]) def test_groupby_reduction_split(keyword, agg_func, shuffle_method): if agg_func in {"first", "last"} and shuffle_method == "disk": pytest.skip(reason="https://github.com/dask/dask/issues/10034") pdf = pd.DataFrame( {"a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 100, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 100} ) ddf = dd.from_pandas(pdf, npartitions=15) def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # DataFrame # nunique is not implemented for DataFrameGroupBy # covariance/correlation is not a series aggregation if agg_func not in ("nunique", "cov", "corr"): res = call(ddf.groupby("b", sort=False), agg_func, **{keyword: 2}) sol = call(pdf.groupby("b"), agg_func) assert_eq(res, sol) assert call(ddf.groupby("b"), agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False), "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b"), "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b"), "var", ddof=2)._name != res._name # Series, post select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.groupby("b", sort=False).a, agg_func, **{keyword: 2}) sol = call(pdf.groupby("b").a, agg_func) assert_eq(res, sol) assert call(ddf.groupby("b").a, agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False).a, "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b").a, "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b").a, "var", ddof=2)._name != res._name # Series, pre select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.a.groupby(ddf.b, sort=False), agg_func, **{keyword: 2}) sol = call(pdf.a.groupby(pdf.b), agg_func) # There's a bug in pandas 0.18.0 with `pdf.a.groupby(pdf.b).count()` # not forwarding the series name. Skip name checks here for now. > assert_eq(res, sol, check_names=False) dask/dataframe/tests/test_groupby.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_0' value = Series([], Name: b, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_setitem _________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_setitem(): df = pd.DataFrame({"A": [1, 2], "B": [3, 4]}) ddf = dd.from_pandas(df.copy(), 2) df[df.columns] = 1 > ddf[ddf.columns] = 1 dask/dataframe/tests/test_dataframe.py:4645: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3041: in __setitem__ out = self.assign(**{k: value for k in list(key)}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = 'A', value = 1 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_groupby_reduction_split[median-tasks-split_out] _____________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 keyword = 'split_out', agg_func = 'median', shuffle_method = 'tasks' @pytest.mark.parametrize("keyword", ["split_every", "split_out"]) def test_groupby_reduction_split(keyword, agg_func, shuffle_method): if agg_func in {"first", "last"} and shuffle_method == "disk": pytest.skip(reason="https://github.com/dask/dask/issues/10034") pdf = pd.DataFrame( {"a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 100, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 100} ) ddf = dd.from_pandas(pdf, npartitions=15) def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # DataFrame # nunique is not implemented for DataFrameGroupBy # covariance/correlation is not a series aggregation if agg_func not in ("nunique", "cov", "corr"): res = call(ddf.groupby("b", sort=False), agg_func, **{keyword: 2}) sol = call(pdf.groupby("b"), agg_func) assert_eq(res, sol) assert call(ddf.groupby("b"), agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False), "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b"), "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b"), "var", ddof=2)._name != res._name # Series, post select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.groupby("b", sort=False).a, agg_func, **{keyword: 2}) sol = call(pdf.groupby("b").a, agg_func) assert_eq(res, sol) assert call(ddf.groupby("b").a, agg_func)._name != res._name if agg_func == "var": res = call(ddf.groupby("b", sort=False).a, "var", ddof=2, **{keyword: 2}) sol = call(pdf.groupby("b").a, "var", ddof=2) assert_eq(res, sol) assert call(ddf.groupby("b").a, "var", ddof=2)._name != res._name # Series, pre select # covariance/correlation is not a series aggregation if agg_func not in ("cov", "corr"): res = call(ddf.a.groupby(ddf.b, sort=False), agg_func, **{keyword: 2}) sol = call(pdf.a.groupby(pdf.b), agg_func) # There's a bug in pandas 0.18.0 with `pdf.a.groupby(pdf.b).count()` # not forwarding the series name. Skip name checks here for now. > assert_eq(res, sol, check_names=False) dask/dataframe/tests/test_groupby.py:734: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_0' value = Series([], Name: b, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_setitem_with_bool_series_as_key _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_setitem_with_bool_series_as_key(): df = pd.DataFrame({"A": [1, 4], "B": [3, 2]}) ddf = dd.from_pandas(df.copy(), 2) > df[df["A"] > 2] = 5 dask/dataframe/tests/test_dataframe.py:4660: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B 0 1 3 1 4 2, key = 0 False 1 True Name: A, dtype: bool value = 5 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________________ test_dtype_cast ________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_dtype_cast(): df = pd.DataFrame( { "A": np.arange(10, dtype=np.int32), "B": np.arange(10, dtype=np.int64), "C": np.arange(10, dtype=np.float32), } ) ddf = dd.from_pandas(df, npartitions=2) assert ddf.A.dtype == np.int32 assert ddf.B.dtype == np.int64 assert ddf.C.dtype == np.float32 col = pd.Series(np.arange(10, dtype=np.float32)) / 2 assert col.dtype == np.float32 > ddf = ddf.assign(D=col) dask/dataframe/tests/test_dataframe.py:4771: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2814: in assign result = new_collection(expr.AssignAlign(result, k, v.expr)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:3520: in _meta return self._expr_cls(*self.operands)._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B, C] Index: [], key = 'D' value = Series([], dtype: float32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_assign_na_float_columns _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_na_float_columns(): # See https://github.com/dask/dask/issues/7156 df_pandas = pd.DataFrame({"a": [1.1]}, dtype="Float64") df = dd.from_pandas(df_pandas, npartitions=1) > df = df.assign(new_col=df["a"]) dask/dataframe/tests/test_dataframe.py:4910: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = 'new_col' value = Series([], Name: a, dtype: Float64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_assign_no_warning_fragmented _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_no_warning_fragmented(): df = pd.DataFrame({"a": [1, 2, 3, 4, 5] * 10}) df = dd.from_pandas(df, npartitions=50) with warnings.catch_warnings(record=True) as w: for i in range(105): > df[str(i)] = 5 dask/dataframe/tests/test_dataframe.py:4921: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '0', value = 5 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________________ test_dot ___________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_dot(): s1 = pd.Series([1, 2, 3, 4]) s2 = pd.Series([4, 5, 6, 6]) df = pd.DataFrame({"one": s1, "two": s2}) dask_s1 = dd.from_pandas(s1, npartitions=1) dask_df = dd.from_pandas(df, npartitions=1) dask_s2 = dd.from_pandas(s2, npartitions=1) assert_eq(s1.dot(s2), dask_s1.dot(dask_s2)) > assert_eq(s1.dot(df), dask_s1.dot(dask_df)) dask/dataframe/tests/test_dataframe.py:4935: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_0' value = Index([], dtype='object') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________________ test_dot_nan _________________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_dot_nan(): # Test that nan inputs match pandas' behavior s1 = pd.Series([1, 2, 3, 4]) dask_s1 = dd.from_pandas(s1, npartitions=1) s2 = pd.Series([np.nan, np.nan, np.nan, np.nan]) dask_s2 = dd.from_pandas(s2, npartitions=1) df = pd.DataFrame({"one": s1, "two": s2}) dask_df = dd.from_pandas(df, npartitions=1) assert_eq(s1.dot(s2), dask_s1.dot(dask_s2)) > assert_eq(s2.dot(df), dask_s2.dot(dask_df)) dask/dataframe/tests/test_dataframe.py:4966: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_0' value = Index([], dtype='object') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_transform_getitem_works[max] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'max' @pytest.mark.parametrize("func", ["max", "sum"]) def test_transform_getitem_works(func): df = pd.DataFrame({"ints": [1, 2, 3], "grouper": [0, 1, 0]}) ddf = dd.from_pandas(df, npartitions=2) # what happens here is not exactly a transform, but a reduction # the result of which is broadcasted back to the original shape. # Broadcasting an aggregation in this manner is very performant in pandas meta = df.groupby("grouper").transform(func) > df["new"] = df.groupby("grouper").transform(func)["ints"] dask/dataframe/tests/test_dataframe.py:5161: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ints grouper 0 1 0 1 2 1 2 3 0 key = 'new', value = 0 3 1 2 2 3 Name: ints, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_transform_getitem_works[sum] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'sum' @pytest.mark.parametrize("func", ["max", "sum"]) def test_transform_getitem_works(func): df = pd.DataFrame({"ints": [1, 2, 3], "grouper": [0, 1, 0]}) ddf = dd.from_pandas(df, npartitions=2) # what happens here is not exactly a transform, but a reduction # the result of which is broadcasted back to the original shape. # Broadcasting an aggregation in this manner is very performant in pandas meta = df.groupby("grouper").transform(func) > df["new"] = df.groupby("grouper").transform(func)["ints"] dask/dataframe/tests/test_dataframe.py:5161: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = ints grouper 0 1 0 1 2 1 2 3 0 key = 'new', value = 0 4 1 2 2 4 Name: ints, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_groupby_on_index[disk-sync] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 scheduler = 'sync' @pytest.mark.parametrize("scheduler", ["sync", "threads"]) def test_groupby_on_index(scheduler): pdf = pd.DataFrame( {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [4, 5, 6, 3, 2, 1, 0, 0, 0]}, index=[0, 1, 3, 5, 6, 8, 9, 9, 9], ) ddf = dd.from_pandas(pdf, npartitions=3) ddf2 = ddf.set_index("a") pdf2 = pdf.set_index("a") assert_eq(ddf.groupby("a").b.mean(), ddf2.groupby(ddf2.index).b.mean()) # Check column projection for `groupby().agg` agg = ddf2.groupby("a").agg({"b": "mean"}) assert_eq(ddf.groupby("a").b.mean(), agg.b) def func(df): return df.assign(b=df.b - df.b.mean()) def func2(df): return df[["b"]] - df[["b"]].mean() def func3(df): return df.mean() with dask.config.set(scheduler=scheduler): with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) assert_eq( ddf.groupby("a").apply(func, **INCLUDE_GROUPS), pdf.groupby("a").apply(func, **INCLUDE_GROUPS), ) > assert_eq( pdf2.groupby(pdf2.index).apply(func2, **INCLUDE_GROUPS), ddf2.groupby(ddf2.index).apply(func2, **INCLUDE_GROUPS), ) dask/dataframe/tests/test_groupby.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b] Index: [], key = '_by_0' value = Index([], dtype='int64', name='a') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_on_index[disk-threads] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 scheduler = 'threads' @pytest.mark.parametrize("scheduler", ["sync", "threads"]) def test_groupby_on_index(scheduler): pdf = pd.DataFrame( {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [4, 5, 6, 3, 2, 1, 0, 0, 0]}, index=[0, 1, 3, 5, 6, 8, 9, 9, 9], ) ddf = dd.from_pandas(pdf, npartitions=3) ddf2 = ddf.set_index("a") pdf2 = pdf.set_index("a") assert_eq(ddf.groupby("a").b.mean(), ddf2.groupby(ddf2.index).b.mean()) # Check column projection for `groupby().agg` agg = ddf2.groupby("a").agg({"b": "mean"}) assert_eq(ddf.groupby("a").b.mean(), agg.b) def func(df): return df.assign(b=df.b - df.b.mean()) def func2(df): return df[["b"]] - df[["b"]].mean() def func3(df): return df.mean() with dask.config.set(scheduler=scheduler): with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) assert_eq( ddf.groupby("a").apply(func, **INCLUDE_GROUPS), pdf.groupby("a").apply(func, **INCLUDE_GROUPS), ) > assert_eq( pdf2.groupby(pdf2.index).apply(func2, **INCLUDE_GROUPS), ddf2.groupby(ddf2.index).apply(func2, **INCLUDE_GROUPS), ) dask/dataframe/tests/test_groupby.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b] Index: [], key = '_by_0' value = Index([], dtype='int64', name='a') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_groupby_on_index[tasks-sync] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 scheduler = 'sync' @pytest.mark.parametrize("scheduler", ["sync", "threads"]) def test_groupby_on_index(scheduler): pdf = pd.DataFrame( {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [4, 5, 6, 3, 2, 1, 0, 0, 0]}, index=[0, 1, 3, 5, 6, 8, 9, 9, 9], ) ddf = dd.from_pandas(pdf, npartitions=3) ddf2 = ddf.set_index("a") pdf2 = pdf.set_index("a") assert_eq(ddf.groupby("a").b.mean(), ddf2.groupby(ddf2.index).b.mean()) # Check column projection for `groupby().agg` agg = ddf2.groupby("a").agg({"b": "mean"}) assert_eq(ddf.groupby("a").b.mean(), agg.b) def func(df): return df.assign(b=df.b - df.b.mean()) def func2(df): return df[["b"]] - df[["b"]].mean() def func3(df): return df.mean() with dask.config.set(scheduler=scheduler): with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) assert_eq( ddf.groupby("a").apply(func, **INCLUDE_GROUPS), pdf.groupby("a").apply(func, **INCLUDE_GROUPS), ) > assert_eq( pdf2.groupby(pdf2.index).apply(func2, **INCLUDE_GROUPS), ddf2.groupby(ddf2.index).apply(func2, **INCLUDE_GROUPS), ) dask/dataframe/tests/test_groupby.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b] Index: [], key = '_by_0' value = Index([], dtype='int64', name='a') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_on_index[tasks-threads] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 scheduler = 'threads' @pytest.mark.parametrize("scheduler", ["sync", "threads"]) def test_groupby_on_index(scheduler): pdf = pd.DataFrame( {"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [4, 5, 6, 3, 2, 1, 0, 0, 0]}, index=[0, 1, 3, 5, 6, 8, 9, 9, 9], ) ddf = dd.from_pandas(pdf, npartitions=3) ddf2 = ddf.set_index("a") pdf2 = pdf.set_index("a") assert_eq(ddf.groupby("a").b.mean(), ddf2.groupby(ddf2.index).b.mean()) # Check column projection for `groupby().agg` agg = ddf2.groupby("a").agg({"b": "mean"}) assert_eq(ddf.groupby("a").b.mean(), agg.b) def func(df): return df.assign(b=df.b - df.b.mean()) def func2(df): return df[["b"]] - df[["b"]].mean() def func3(df): return df.mean() with dask.config.set(scheduler=scheduler): with warnings.catch_warnings(): warnings.simplefilter("ignore", UserWarning) assert_eq( ddf.groupby("a").apply(func, **INCLUDE_GROUPS), pdf.groupby("a").apply(func, **INCLUDE_GROUPS), ) > assert_eq( pdf2.groupby(pdf2.index).apply(func2, **INCLUDE_GROUPS), ddf2.groupby(ddf2.index).apply(func2, **INCLUDE_GROUPS), ) dask/dataframe/tests/test_groupby.py:252: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b] Index: [], key = '_by_0' value = Index([], dtype='int64', name='a') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumprod-key1-a] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumprod-key1-c] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumprod-key1-d] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[disk-cumprod-key1-sel3] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[disk-cumprod-key1-sel4] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumcount-a-a] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumcount-a-c] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumcount-a-d] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumcount-a-sel3] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_groupby_apply_tasks[tasks] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_groupby_apply_tasks(shuffle_method): if shuffle_method == "disk": pytest.skip("Tasks-only shuffle test") df = _compat.makeTimeDataFrame() > df["A"] = df.A // 0.1 dask/dataframe/tests/test_groupby.py:852: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B C D 2000-01-03 -1.023306 -0.443151 -1.598037 -1.824640 2000-01-04 2.34....142141 1.633707 2000-02-10 -0.866261 -0.647870 0.500574 -0.425281 2000-02-11 0.396722 0.596739 0.380478 -0.563965 key = 'A' value = 2000-01-03 -11.0 2000-01-04 23.0 2000-01-05 -3.0 2000-01-06 0.0 2000-01-07 -16.0 2000-01-10 12.0 2000...07 -16.0 2000-02-08 -3.0 2000-02-09 -27.0 2000-02-10 -9.0 2000-02-11 3.0 Freq: B, Name: A, dtype: float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumcount-a-sel4] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumcount-key1-a] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumcount-key1-c] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumcount-key1-d] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[disk-cumcount-key1-sel3] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[disk-cumcount-key1-sel4] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumsum-a-a] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumsum-a-c] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumsum-a-d] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumsum-a-sel3] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumsum-a-sel4] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumsum-key1-a] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumsum-key1-c] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumsum-key1-d] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[tasks-cumsum-key1-sel3] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[tasks-cumsum-key1-sel4] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumprod-a-a] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumprod-a-c] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[tasks-cumprod-a-d] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumprod-a-sel3] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumprod-a-sel4] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumprod-key1-a] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumprod-key1-c] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumprod-key1-d] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[tasks-cumprod-key1-sel3] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_cumulative[tasks-cumprod-key1-sel4] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumcount-a-a] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumcount-a-c] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[tasks-cumcount-a-d] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumcount-a-sel3] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumcount-a-sel4] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumcount-key1-a] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumcount-key1-c] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[tasks-cumcount-key1-d] ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_cumulative[tasks-cumcount-key1-sel3] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_cumulative[tasks-cumcount-key1-sel4] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumcount', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_series_groupby_multi_character_column_name[disk] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_series_groupby_multi_character_column_name(): df = pd.DataFrame({"aa": [1, 2, 1, 3, 4, 1, 2]}) ddf = dd.from_pandas(df, npartitions=3) > assert_eq(df.groupby("aa").aa.cumsum(), ddf.groupby("aa").aa.cumsum()) dask/dataframe/tests/test_groupby.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [aa] Index: [], key = '_by_aa' value = Series([], Name: aa, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_series_groupby_multi_character_column_name[tasks] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_series_groupby_multi_character_column_name(): df = pd.DataFrame({"aa": [1, 2, 1, 3, 4, 1, 2]}) ddf = dd.from_pandas(df, npartitions=3) > assert_eq(df.groupby("aa").aa.cumsum(), ddf.groupby("aa").aa.cumsum()) dask/dataframe/tests/test_groupby.py:1387: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [aa] Index: [], key = '_by_aa' value = Series([], Name: aa, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_groupby_unaligned_index[disk] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_groupby_unaligned_index(): df = pd.DataFrame( { "a": np.random.randint(0, 10, 50), "b": np.random.randn(50), "c": np.random.randn(50), } ) ddf = dd.from_pandas(df, npartitions=5) filtered = df[df.b < 0.5] dfiltered = ddf[ddf.b < 0.5] ddf_group = dfiltered.groupby(ddf.a) ds_group = dfiltered.b.groupby(ddf.a) bad = [ ddf_group.mean(), ddf_group.var(), ddf_group.b.nunique(), ddf_group.get_group(0), ds_group.mean(), ds_group.var(), ds_group.nunique(), ds_group.get_group(0), ] for obj in bad: with pytest.raises(ValueError): obj.compute() def add1(x): return x + 1 df_group = filtered.groupby(df.a) expected = df_group.apply(add1, **INCLUDE_GROUPS) > assert_eq(ddf_group.apply(add1, meta=expected, **INCLUDE_GROUPS), expected) dask/dataframe/tests/test_groupby.py:1425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_unaligned_index[tasks] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_groupby_unaligned_index(): df = pd.DataFrame( { "a": np.random.randint(0, 10, 50), "b": np.random.randn(50), "c": np.random.randn(50), } ) ddf = dd.from_pandas(df, npartitions=5) filtered = df[df.b < 0.5] dfiltered = ddf[ddf.b < 0.5] ddf_group = dfiltered.groupby(ddf.a) ds_group = dfiltered.b.groupby(ddf.a) bad = [ ddf_group.mean(), ddf_group.var(), ddf_group.b.nunique(), ddf_group.get_group(0), ds_group.mean(), ds_group.var(), ds_group.nunique(), ds_group.get_group(0), ] for obj in bad: with pytest.raises(ValueError): obj.compute() def add1(x): return x + 1 df_group = filtered.groupby(df.a) expected = df_group.apply(add1, **INCLUDE_GROUPS) > assert_eq(ddf_group.apply(add1, meta=expected, **INCLUDE_GROUPS), expected) dask/dataframe/tests/test_groupby.py:1425: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b, c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_groupby_dataframe_cum_caching[disk-cumsum] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 op = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("op", ["cumsum", "cumprod"]) def test_groupby_dataframe_cum_caching(op): """Test caching behavior of cumulative operations on grouped dataframes. Relates to #3756. """ df = pd.DataFrame( dict(a=list("aabbcc")), index=pd.date_range(start="20100101", periods=6) ) df["ones"] = 1 df["twos"] = 2 ddf = dd.from_pandas(df, npartitions=3) ddf0 = getattr(ddf.groupby(["a"]), op)() ddf1 = ddf.rename(columns={"ones": "foo", "twos": "bar"}) ddf1 = getattr(ddf1.groupby(["a"]), op)() # _a and _b dataframe should be equal > res0_a, res1_a = dask.compute(ddf0, ddf1) dask/dataframe/tests/test_groupby.py:1467: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [foo, bar] Index: [], key = '_by_a' value = Series([], Freq: D, Name: a, dtype: string) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_groupby_dataframe_cum_caching[disk-cumprod] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 op = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("op", ["cumsum", "cumprod"]) def test_groupby_dataframe_cum_caching(op): """Test caching behavior of cumulative operations on grouped dataframes. Relates to #3756. """ df = pd.DataFrame( dict(a=list("aabbcc")), index=pd.date_range(start="20100101", periods=6) ) df["ones"] = 1 df["twos"] = 2 ddf = dd.from_pandas(df, npartitions=3) ddf0 = getattr(ddf.groupby(["a"]), op)() ddf1 = ddf.rename(columns={"ones": "foo", "twos": "bar"}) ddf1 = getattr(ddf1.groupby(["a"]), op)() # _a and _b dataframe should be equal > res0_a, res1_a = dask.compute(ddf0, ddf1) dask/dataframe/tests/test_groupby.py:1467: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [foo, bar] Index: [], key = '_by_a' value = Series([], Freq: D, Name: a, dtype: string) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_groupby_dataframe_cum_caching[tasks-cumsum] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 op = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("op", ["cumsum", "cumprod"]) def test_groupby_dataframe_cum_caching(op): """Test caching behavior of cumulative operations on grouped dataframes. Relates to #3756. """ df = pd.DataFrame( dict(a=list("aabbcc")), index=pd.date_range(start="20100101", periods=6) ) df["ones"] = 1 df["twos"] = 2 ddf = dd.from_pandas(df, npartitions=3) ddf0 = getattr(ddf.groupby(["a"]), op)() ddf1 = ddf.rename(columns={"ones": "foo", "twos": "bar"}) ddf1 = getattr(ddf1.groupby(["a"]), op)() # _a and _b dataframe should be equal > res0_a, res1_a = dask.compute(ddf0, ddf1) dask/dataframe/tests/test_groupby.py:1467: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [foo, bar] Index: [], key = '_by_a' value = Series([], Freq: D, Name: a, dtype: string) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_dataframe_cum_caching[tasks-cumprod] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 op = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("op", ["cumsum", "cumprod"]) def test_groupby_dataframe_cum_caching(op): """Test caching behavior of cumulative operations on grouped dataframes. Relates to #3756. """ df = pd.DataFrame( dict(a=list("aabbcc")), index=pd.date_range(start="20100101", periods=6) ) df["ones"] = 1 df["twos"] = 2 ddf = dd.from_pandas(df, npartitions=3) ddf0 = getattr(ddf.groupby(["a"]), op)() ddf1 = ddf.rename(columns={"ones": "foo", "twos": "bar"}) ddf1 = getattr(ddf1.groupby(["a"]), op)() # _a and _b dataframe should be equal > res0_a, res1_a = dask.compute(ddf0, ddf1) dask/dataframe/tests/test_groupby.py:1467: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [foo, bar] Index: [], key = '_by_a' value = Series([], Freq: D, Name: a, dtype: string) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_column_and_index_agg_funcs[disk-cumprod] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b, c] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_column_and_index_agg_funcs[disk-cumcount] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumcount' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_groupby_column_and_index_agg_funcs[disk-cumsum] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b, c] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_column_and_index_agg_funcs[tasks-cumprod] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b, c] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_groupby_column_and_index_agg_funcs[tasks-cumcount] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumcount' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [0] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_column_and_index_agg_funcs[tasks-cumsum] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 agg_func = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "agg_func", [ "cumprod", "cumcount", "cumsum", "var", "sum", "mean", "count", "size", "std", "min", "max", "first", "last", "prod", ], ) def test_groupby_column_and_index_agg_funcs(agg_func): def call(g, m, **kwargs): return getattr(g, m)(**kwargs) df = pd.DataFrame( { "idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6), "c": [1, 1, 1, 2, 2, 2], } ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas(df, npartitions=df.index.nunique(), sort=False) # Index and then column # Compute expected result expected = call(df.groupby(["idx", "a"]), agg_func) if agg_func in {"mean", "var"}: expected = expected.astype(float) result = call(ddf.groupby(["idx", "a"]), agg_func) > assert_eq(expected, result) dask/dataframe/tests/test_groupby.py:1550: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [b, c] Index: [], key = '_by_idx' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[disk-min-group_args0] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[disk-min-group_args2] ___________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_column_and_index_apply[disk-min-idx] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[disk-mean-group_args0] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[disk-mean-group_args2] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_column_and_index_apply[disk-mean-idx] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_groupby_column_and_index_apply[disk--group_args0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_groupby_column_and_index_apply[disk--group_args2] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________ test_groupby_column_and_index_apply[disk--idx] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[tasks-min-group_args0] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_groupby_column_and_index_apply[tasks-min-group_args2] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_dataframe_aggregations_multilevel[median-disk-1-4] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949d20>, agg_func = 'median' split_out = 1 @pytest.mark.flaky(reruns=5) # See https://github.com/dask/dask/issues/9793 @pytest.mark.parametrize( "grouper", [ lambda df: ["a"], lambda df: ["a", "b"], lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_dataframe_aggregations_multilevel(grouper, agg_func, split_out): sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "d": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a", "d"], ) ddf = dd.from_pandas(pdf, npartitions=10) # covariance only works with N+1 columns if agg_func not in ("cov", "corr"): > assert_eq( call(pdf.groupby(grouper(pdf), sort=sort)["c"], agg_func), call( ddf.groupby(grouper(ddf), sort=sort)["c"], agg_func, split_out=split_out, split_every=2, ), ) dask/dataframe/tests/test_groupby.py:1132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_column_and_index_apply[tasks-min-idx] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_groupby_column_and_index_apply[tasks-mean-group_args0] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_groupby_column_and_index_apply[tasks-mean-group_args2] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_groupby_column_and_index_apply[tasks-mean-idx] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_groupby_column_and_index_apply[tasks--group_args0] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx', 'a'], apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_groupby_column_and_index_apply[tasks--group_args2] ________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = ['idx'], apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_groupby_column_and_index_apply[tasks--idx] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_args = 'idx', apply_func = at 0x7f5bf4d46c40> @pytest.mark.parametrize("group_args", [["idx", "a"], ["a", "idx"], ["idx"], "idx"]) @pytest.mark.parametrize( "apply_func", [np.min, np.mean, lambda s, axis=None: np.max(s.values) - np.mean(s.values)], ) def test_groupby_column_and_index_apply(group_args, apply_func): df = pd.DataFrame( {"idx": [1, 1, 1, 2, 2, 2], "a": [1, 2, 1, 2, 1, 2], "b": np.arange(6)} ).set_index("idx") ddf = dd.from_pandas(df, npartitions=df.index.nunique()) ddf_no_divs = dd.from_pandas( df, npartitions=df.index.nunique(), sort=False ).clear_divisions() # Expected result expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame with divisions (no shuffling) result = ddf.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) assert_eq(expected, result, check_divisions=False) # Check that partitioning is preserved assert ddf.divisions == result.divisions # Check that no shuffling occurred. # The groupby operation should add only 1 task per partition assert len(result.dask) == (len(ddf.dask) + ddf.npartitions) expected = df.groupby(group_args).apply(apply_func, axis=0, **INCLUDE_GROUPS) # Compute on dask DataFrame without divisions (requires shuffling) result = ddf_no_divs.groupby(group_args).apply( apply_func, axis=0, meta=expected, **INCLUDE_GROUPS ) > assert_eq(expected, result, check_divisions=False) dask/dataframe/tests/test_groupby.py:1638: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_dataframe_aggregations_multilevel[median-disk-2-4] ________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949d20>, agg_func = 'median' split_out = 2 @pytest.mark.flaky(reruns=5) # See https://github.com/dask/dask/issues/9793 @pytest.mark.parametrize( "grouper", [ lambda df: ["a"], lambda df: ["a", "b"], lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_dataframe_aggregations_multilevel(grouper, agg_func, split_out): sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "d": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a", "d"], ) ddf = dd.from_pandas(pdf, npartitions=10) # covariance only works with N+1 columns if agg_func not in ("cov", "corr"): > assert_eq( call(pdf.groupby(grouper(pdf), sort=sort)["c"], agg_func), call( ddf.groupby(grouper(ddf), sort=sort)["c"], agg_func, split_out=split_out, split_every=2, ), ) dask/dataframe/tests/test_groupby.py:1132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_dataframe_aggregations_multilevel[median-tasks-1-4] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949d20>, agg_func = 'median' split_out = 1 @pytest.mark.flaky(reruns=5) # See https://github.com/dask/dask/issues/9793 @pytest.mark.parametrize( "grouper", [ lambda df: ["a"], lambda df: ["a", "b"], lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_dataframe_aggregations_multilevel(grouper, agg_func, split_out): sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "d": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a", "d"], ) ddf = dd.from_pandas(pdf, npartitions=10) # covariance only works with N+1 columns if agg_func not in ("cov", "corr"): > assert_eq( call(pdf.groupby(grouper(pdf), sort=sort)["c"], agg_func), call( ddf.groupby(grouper(ddf), sort=sort)["c"], agg_func, split_out=split_out, split_every=2, ), ) dask/dataframe/tests/test_groupby.py:1132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_groupby_group_keys[disk-True] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = True @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_group_keys[disk-False] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = False @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_groupby_group_keys[disk-None] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = None @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______ test_dataframe_aggregations_multilevel[median-tasks-2-4] _______ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949d20>, agg_func = 'median' split_out = 2 @pytest.mark.flaky(reruns=5) # See https://github.com/dask/dask/issues/9793 @pytest.mark.parametrize( "grouper", [ lambda df: ["a"], lambda df: ["a", "b"], lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_dataframe_aggregations_multilevel(grouper, agg_func, split_out): sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "d": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a", "d"], ) ddf = dd.from_pandas(pdf, npartitions=10) # covariance only works with N+1 columns if agg_func not in ("cov", "corr"): > assert_eq( call(pdf.groupby(grouper(pdf), sort=sort)["c"], agg_func), call( ddf.groupby(grouper(ddf), sort=sort)["c"], agg_func, split_out=split_out, split_every=2, ), ) dask/dataframe/tests/test_groupby.py:1132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_group_keys[tasks-True] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = True @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_group_keys[tasks-False] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = False @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_group_keys[tasks-None] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 group_keys = None @pytest.mark.parametrize("group_keys", [True, False, None]) def test_groupby_group_keys(group_keys): df = pd.DataFrame({"a": [1, 2, 2, 3], "b": [2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2).set_index("a") pdf = df.set_index("a") func = lambda g: g.copy() expected = pdf.groupby("a").apply(func, **INCLUDE_GROUPS) > assert_eq(expected, ddf.groupby("a").apply(func, meta=expected, **INCLUDE_GROUPS)) dask/dataframe/tests/test_groupby.py:1893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_groupby_shift_with_freq[disk] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk' def test_groupby_shift_with_freq(shuffle_method): pdf = pd.DataFrame( dict(a=[1, 2, 3, 4, 5, 6], b=[0, 0, 0, 1, 1, 1]), index=pd.date_range(start="20100101", periods=6), ) ddf = dd.from_pandas(pdf, npartitions=3) # just pass the pandas result as meta for convenience df_result = pdf.groupby(pdf.index).shift(periods=-2, freq="D") # Groupby/shift on the index should avoid shuffle and let the `freq` pass # unmodified, but that is currently broken: https://github.com/dask/dask/issues/8959 # TODO: remove check_freq condition once fixed. > assert_eq( df_result, ddf.groupby(ddf.index).shift(periods=-2, freq="D", meta=df_result), check_freq=False, ) dask/dataframe/tests/test_groupby.py:2240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_0' value = DatetimeIndex([], dtype='datetime64[ns]', freq='D') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_groupby_shift_with_freq[tasks] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_groupby_shift_with_freq(shuffle_method): pdf = pd.DataFrame( dict(a=[1, 2, 3, 4, 5, 6], b=[0, 0, 0, 1, 1, 1]), index=pd.date_range(start="20100101", periods=6), ) ddf = dd.from_pandas(pdf, npartitions=3) # just pass the pandas result as meta for convenience df_result = pdf.groupby(pdf.index).shift(periods=-2, freq="D") # Groupby/shift on the index should avoid shuffle and let the `freq` pass # unmodified, but that is currently broken: https://github.com/dask/dask/issues/8959 # TODO: remove check_freq condition once fixed. > assert_eq( df_result, ddf.groupby(ddf.index).shift(periods=-2, freq="D", meta=df_result), check_freq=False, ) dask/dataframe/tests/test_groupby.py:2240: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_0' value = DatetimeIndex([], dtype='datetime64[ns]', freq='D') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column0-2] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'c'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column0-3] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'c'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column1-2] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'd'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column1-3] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'd'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column2-2] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'e'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[disk-column2-3] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'e'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column0-2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'c'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column0-3] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'c'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column1-2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'd'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column1-3] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'd'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column2-2] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 2, column = ['b', 'e'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_groupby_split_out_multiindex[tasks-column2-3] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 split_out = 3, column = ['b', 'e'] @pytest.mark.parametrize("split_out", [2, 3]) @pytest.mark.parametrize("column", [["b", "c"], ["b", "d"], ["b", "e"]]) def test_groupby_split_out_multiindex(split_out, column): df = pd.DataFrame( { "a": np.arange(8), "b": [1, 0, 0, 2, 1, 1, 2, 0], "c": [0, 1] * 4, "d": ["dog", "cat", "cat", "dog", "dog", "dog", "cat", "bird"], } ).fillna(0) > df["e"] = df["d"].astype("category") dask/dataframe/tests/test_groupby.py:2628: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c d 0 0 1 0 dog 1 1 0 1 cat 2 2 0 0 cat 3 3 2 1 dog 4 4 1 0 dog 5 5 1 1 dog 6 6 2 0 cat 7 7 0 1 bird key = 'e' value = 0 dog 1 cat 2 cat 3 dog 4 dog 5 dog 6 cat 7 bird Name: d, dtype: category Categories (3, object): ['bird', 'cat', 'dog'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on2-right-disk] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'disk' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on2-right-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'tasks' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on2-outer-disk] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'outer', shuffle_method = 'disk' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on2-outer-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on3-right-disk] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'disk' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on3-right-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'tasks' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on3-outer-disk] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'outer', shuffle_method = 'disk' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_known[on3-outer-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_known( df_left, df_right, ddf_left, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_single_to_known[on2-disk-right] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_single = Dask DataFrame Structure: k v1 npartitions=1 0 int64 int64 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["inner", "right"]) def test_merge_single_to_known( df_left, df_right, ddf_left_single, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_single_to_known[on2-tasks-right] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_single = Dask DataFrame Structure: k v1 npartitions=1 0 int64 int64 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["inner", "right"]) def test_merge_single_to_known( df_left, df_right, ddf_left_single, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_single_to_known[on3-disk-right] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_single = Dask DataFrame Structure: k v1 npartitions=1 0 int64 int64 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["inner", "right"]) def test_merge_single_to_known( df_left, df_right, ddf_left_single, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_single_to_known[on3-tasks-right] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_single = Dask DataFrame Structure: k v1 npartitions=1 0 int64 int64 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["inner", "right"]) def test_merge_single_to_known( df_left, df_right, ddf_left_single, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:132: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'inner', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'inner', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_unknown[idx-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'left', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'left', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'right', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'right', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'outer', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[idx-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'inner', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_unknown[on1-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'left', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'left', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'right', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'right', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'outer', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on1-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'inner', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'inner', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_unknown[on2-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'left', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'left', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'right', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'right', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'outer', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on2-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'inner', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_known_to_unknown[on3-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'left', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'left', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:157: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'right', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'right', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'outer', shuffle_method = 'disk' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_known_to_unknown[on3-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_known_to_unknown( df_left, df_right, ddf_left, ddf_right_unknown, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-1-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949e80>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_unknown_to_known[idx-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-1-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949f30>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-1-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949fe0>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-2-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949e80>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-2-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949f30>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[idx-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = 'idx', how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_series_aggregations_multilevel[median-disk-2-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949fe0>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-1-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949e80>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_unknown_to_known[on1-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-1-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949f30>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-1-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949fe0>, split_out = 1 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-2-0] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949e80>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-2-1] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949f30>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on1-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________ test_series_aggregations_multilevel[median-tasks-2-2] _________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 grouper = at 0x7ffb8f949fe0>, split_out = 2 agg_func = 'median' @pytest.mark.parametrize( "grouper", [ lambda df: df["a"], lambda df: [df["a"], df["b"]], lambda df: [df["a"] > 2, df["b"] > 1], ], ) @pytest.mark.parametrize("split_out", [1, 2]) def test_series_aggregations_multilevel(grouper, split_out, agg_func): """ similar to ``test_dataframe_aggregations_multilevel``, but series do not support all groupby args. """ sort = split_out == 1 # Don't sort for split_out > 1 def call(g, m, **kwargs): return getattr(g, m)(**kwargs) # covariance/correlation is not a series aggregation if agg_func in ("cov", "corr"): return pdf = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 10, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 10, "c": [0, 1, 2, 3, 4, 5, 6, 7, 8] * 10, }, columns=["c", "b", "a"], ) ddf = dd.from_pandas(pdf, npartitions=10) > assert_eq( call(pdf["c"].groupby(grouper(pdf), sort=sort), agg_func), call( ddf["c"].groupby(grouper(ddf), sort=sort), agg_func, split_out=split_out, split_every=2, ), # for pandas ~ 0.18, the name is not not properly propagated for # the mean aggregation check_names=(agg_func not in {"mean", "nunique"}), ) dask/dataframe/tests/test_groupby.py:1217: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:598: in assert_divisions if not hasattr(ddf, "divisions"): ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:347: in divisions return self.expr.divisions /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:431: in divisions return tuple(self._divisions()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:57: in _divisions x = self.optimize(fuse=False) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:964: in _lower map_columns, unmap_columns = get_map_columns(df) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_groupby.py:946: in get_map_columns map_columns = {col: str(col) for col in df.columns if col != str(col)} ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_0' value = Series([], Name: a, dtype: bool) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_unknown_to_known[on2-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on2-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-inner-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-inner-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_merge_unknown_to_known[on3-left-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-left-tasks] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Perform merge result = ddf_left_unknown.merge( ddf_right, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-right-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-right-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-outer-disk] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_known[on3-outer-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_known( df_left, df_right, ddf_left_unknown, ddf_right, on, how, shuffle_method ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:165: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-inner-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-inner-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_unknown[idx-left-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-left-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-right-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-right-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-outer-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[idx-outer-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = 'idx', how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-inner-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-inner-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_unknown[on1-left-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-left-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-right-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-right-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-outer-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on1-outer-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-inner-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-inner-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_unknown[on2-left-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-left-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-right-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-right-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-outer-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on2-outer-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['idx', 'k'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0.0 1 0 1.0 1.0 1.0 2 0 2.0 2.0 2.0 3 0 NaN NaN... 10 NaN NaN 49.0 63 10 NaN NaN 50.0 64 10 NaN NaN 51.0 65 10 NaN NaN 52.0 [66 rows x 4 columns] key = 'k' value = 0 0 1 1 2 2 3 3 4 0 .. 61 3 62 4 63 5 64 6 65 7 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-inner-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'inner', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-inner-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'inner', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_unknown_to_unknown[on3-left-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'left', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-left-tasks] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'left', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected expected = df_left.merge(df_right, on=on, how=how) # Merge unknown to unknown result = ddf_left_unknown.merge( ddf_right_unknown, on=on, how=how, shuffle_method=shuffle_method ) # Assertions > assert_eq(result, expected) dask/dataframe/tests/test_merge_column_and_index.py:195: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:272: in _lower frame._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [k, v1] Index: [], key = '_partitions_0' value = Index([], dtype='int64', name='idx') def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-right-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'right', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-right-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'right', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-outer-disk] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'outer', shuffle_method = 'disk' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_merge_unknown_to_unknown[on3-outer-tasks] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) ddf_right_unknown = Dask DataFrame Structure: k v1 npartitions=10 int64 int64 ... ... ... ... ... Dask Name: return_input, 2 expressions Expr=ClearDivisions(frame=df) on = ['k', 'idx'], how = 'outer', shuffle_method = 'tasks' def test_merge_unknown_to_unknown( df_left, df_right, ddf_left_unknown, ddf_right_unknown, on, how, shuffle_method, ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:187: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0.0 1 0.0 3.0 4.0 2 0.0 7.0 6.0 3 0.0 9.0 11.0 4 0.0 14.0 14.... NaN NaN 28.0 62 7.0 31.0 NaN 63 NaN NaN 52.0 64 NaN NaN 29.0 65 8.0 32.0 NaN [66 rows x 3 columns] key = 'k' value = 0 0 1 0 2 0 3 0 4 0 .. 61 7 62 7 63 7 64 8 65 8 Length: 66, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[tasks-right] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = dd.from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = dd.from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join( df2.clear_divisions(), on="x", how=how, shuffle_method=shuffle_method ) dask/dataframe/tests/test_merge_column_and_index.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[disk-cumsum-a-a] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[tasks-outer] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = dd.from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = dd.from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join( df2.clear_divisions(), on="x", how=how, shuffle_method=shuffle_method ) dask/dataframe/tests/test_merge_column_and_index.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[disk-cumsum-a-c] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[disk-right] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = dd.from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = dd.from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join( df2.clear_divisions(), on="x", how=how, shuffle_method=shuffle_method ) dask/dataframe/tests/test_merge_column_and_index.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_cumulative[disk-cumsum-a-d] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_join[disk-outer] _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["left", "right", "inner", "outer"]) @pytest.mark.parametrize("shuffle_method", ["tasks", "disk"]) def test_join(how, shuffle_method): # Make simple left & right dfs pdf1 = pd.DataFrame({"x": range(20), "y": range(20)}) df1 = dd.from_pandas(pdf1, 4) pdf2 = pd.DataFrame({"z": range(10)}, index=pd.Index(range(10), name="a")) df2 = dd.from_pandas(pdf2, 2) # Partition-wise merge with map_partitions > df3 = df1.join( df2.clear_divisions(), on="x", how=how, shuffle_method=shuffle_method ) dask/dataframe/tests/test_merge_column_and_index.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3004: in join return self.merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2951: in merge return merge( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:5616: in merge result = new_collection( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_merge.py:202: in _meta return make_meta(left.merge(right, **kwargs)) /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z NaN NaN NaN 1 0.0 1.0 1.0 1 1.0 1.0 1.0 1 key = 'x', value = NaN 0 0.0 1 1.0 1 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumsum-a-sel3] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumsum-a-sel4] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumsum-key1-a] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumsum-key1-c] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumsum-key1-d] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumsum-key1-sel3] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_cumulative[disk-cumsum-key1-sel4] ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum', key = ['a', 'b'], sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_merge_known_to_double_bcast_left[on2-disk-True-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], shuffle_method = 'disk', how = 'right', broadcast = True @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumprod-a-a] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'a' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_merge_known_to_double_bcast_left[on2-disk-0.75-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], shuffle_method = 'disk', how = 'right', broadcast = 0.75 @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumprod-a-c] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'c' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_merge_known_to_double_bcast_left[on2-tasks-True-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], shuffle_method = 'tasks', how = 'right', broadcast = True @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_cumulative[disk-cumprod-a-d] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = 'd' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_merge_known_to_double_bcast_left[on2-tasks-0.75-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['idx', 'k'], shuffle_method = 'tasks', how = 'right', broadcast = 0.75 @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = idx k v1_x v1_y 0 0 0.0 0.0 0 1 0 1.0 1.0 1 2 0 2.0 2.0 2 3 0 NaN NaN...10 3.0 47.0 48 49 10 NaN NaN 49 50 10 NaN NaN 50 51 10 NaN NaN 51 52 10 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumprod-a-sel3] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['a', 'b'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_merge_known_to_double_bcast_left[on3-disk-True-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], shuffle_method = 'disk', how = 'right', broadcast = True @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________ test_merge_known_to_double_bcast_left[on3-disk-0.75-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], shuffle_method = 'disk', how = 'right', broadcast = 0.75 @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_cumulative[disk-cumprod-a-sel4] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod', key = 'a', sel = ['c', 'd'] @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize("sel", ["a", "c", "d", ["a", "b"], ["c", "d"]]) @pytest.mark.parametrize("key", ["a", ["a", "b"]]) @pytest.mark.parametrize("func", ["cumsum", "cumprod", "cumcount"]) def test_cumulative(func, key, sel): df = pd.DataFrame( { "a": [1, 2, 6, 4, 4, 6, 4, 3, 7] * 6, "b": [4, 2, 7, 3, 3, 1, 1, 1, 2] * 6, "c": np.random.randn(54), "d": np.random.randn(54), }, columns=["a", "b", "c", "d"], ) df.iloc[[-18, -12, -6], -1] = np.nan ddf = dd.from_pandas(df, npartitions=10) g, dg = (d.groupby(key)[sel] for d in (df, ddf)) > assert_eq(getattr(g, func)(), getattr(dg, func)()) dask/dataframe/tests/test_groupby.py:1381: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [c, d] Index: [], key = '_by_a' value = Series([], Name: a, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_merge_known_to_double_bcast_left[on3-tasks-True-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], shuffle_method = 'tasks', how = 'right', broadcast = True @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________ test_merge_known_to_double_bcast_left[on3-tasks-0.75-right] __________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df_left = k v1 idx 0 0 0 0 1 1 0 2 2 1 0 3 1 1 4 1 2 5 1 3 6 2 0 7 2 1 ... 0 37 9 1 38 9 2 39 9 3 40 9 4 41 9 5 42 9 6 43 10 0 44 10 1 45 10 2 46 10 3 47 df_right = k v1 idx 0 0 0 0 1 1 0 2 2 0 3 3 1 0 4 1 1 5 2 0 6 2 1 7 2 2 ... 1 42 9 2 43 9 3 44 10 0 45 10 1 46 10 2 47 10 3 48 10 4 49 10 5 50 10 6 51 10 7 52 ddf_left_double = Dask DataFrame Structure: k v1 npartitions=2 0 int64 int64 7 ... ... 10 ... ... Dask Name: frompandas, 1 expression Expr=df ddf_right = Dask DataFrame Structure: k v1 npartitions=10 0 int64 int64 1 ... ... ... 10 ... ... 11 ... ... Dask Name: from_pd_divs, 1 expression Expr=df on = ['k', 'idx'], shuffle_method = 'tasks', how = 'right', broadcast = 0.75 @pytest.mark.parametrize("how", ["inner", "right"]) @pytest.mark.parametrize("broadcast", [True, 0.75]) def test_merge_known_to_double_bcast_left( df_left, df_right, ddf_left_double, ddf_right, on, shuffle_method, how, broadcast ): # Compute expected > expected = df_left.merge(df_right, on=on, how=how) dask/dataframe/tests/test_merge_column_and_index.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = k v1_x v1_y 0 0.0 0.0 0 1 1.0 1.0 1 2 2.0 2.0 2 3 NaN NaN 3 4 0.0 3.0 ...47 2.0 46.0 47 48 3.0 47.0 48 49 NaN NaN 49 50 NaN NaN 50 51 NaN NaN 51 52 NaN NaN 52 key = 'k' value = 0 0 1 1 2 2 3 3 4 0 5 1 6 0 7 1 8 2 9 3 10 4 11 0 12 1 13 2 14 ... 5 40 6 41 0 42 1 43 2 44 3 45 0 46 1 47 2 48 3 49 4 50 5 51 6 52 7 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_assign_not_modifying_array_inplace ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assign_not_modifying_array_inplace(): df = pd.DataFrame({"a": [1, 2, 3], "b": 1.5}) > result = methods.assign(df, "a", 5) dask/dataframe/tests/test_methods.py:11: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/methods.py:348: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b 0 1 1.5 1 2 1.5 2 3 1.5, key = 'a', value = 5 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'min' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_merge_asof_with_empty __________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_merge_asof_with_empty(): good_df = pd.DataFrame({"index_col": list(range(10)), "good_val": list(range(10))}) good_dd = dd.from_pandas(good_df, npartitions=2) empty_df = ( good_df[good_df.index_col < 0].copy().rename(columns={"good_val": "empty_val"}) ) empty_dd = dd.from_pandas(empty_df, npartitions=2) # left good, right empty result_dd = dd.merge_asof( good_dd.set_index("index_col"), empty_dd.set_index("index_col"), left_index=True, right_index=True, ) result_df = pd.merge_asof( good_df.set_index("index_col"), empty_df.set_index("index_col"), left_index=True, right_index=True, ) > assert_eq(result_dd, result_df, check_index=False) dask/dataframe/tests/test_multi.py:474: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [index_col, empty_val] Index: [] key = '_partitions', value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_concat_with_operation_remains_hlg ____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_concat_with_operation_remains_hlg(): pdf1 = pd.DataFrame( {"x": [1, 2, 3, 4, 6, 7], "y": list("abcdef")}, index=[1, 2, 3, 4, 6, 7] ) ddf1 = dd.from_pandas(pdf1, 2) pdf2 = pd.DataFrame({"y": list("abcdef")}, index=[8, 9, 10, 11, 12, 13]) ddf2 = dd.from_pandas(pdf2, 2) # Do some operation which will remain blockwise in the dask case. > pdf2["x"] = range(len(pdf2["y"])) dask/dataframe/tests/test_multi.py:627: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = y 8 a 9 b 10 c 11 d 12 e 13 f, key = 'x', value = range(0, 6) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes[True-inner] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = dd.from_pandas(df1, 2) # merge column "A" is float b = dd.from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = dd.merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/tests/test_multi.py:693: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes[True-outer] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = dd.from_pandas(df1, 2) # merge column "A" is float b = dd.from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = dd.merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/tests/test_multi.py:693: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_merge_columns_dtypes[True-left] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = dd.from_pandas(df1, 2) # merge column "A" is float b = dd.from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = dd.merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/tests/test_multi.py:693: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_columns_dtypes[True-right] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', on_index = True @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) @pytest.mark.parametrize("on_index", [True, False]) def test_merge_columns_dtypes(how, on_index): # tests results of merges with merge columns having different dtypes; # asserts that either the merge was successful or the corresponding warning is raised # addresses issue #4574 df1 = pd.DataFrame( {"A": list(np.arange(5).astype(float)) * 2, "B": list(np.arange(5)) * 2} ) df2 = pd.DataFrame({"A": np.arange(5), "B": np.arange(5)}) a = dd.from_pandas(df1, 2) # merge column "A" is float b = dd.from_pandas(df2, 2) # merge column "A" is int on = ["A"] left_index = right_index = on_index if on_index: a = a.set_index("A") b = b.set_index("A") on = None with warnings.catch_warnings(record=True) as record: warnings.simplefilter("always") result = dd.merge( a, b, on=on, how=how, left_index=left_index, right_index=right_index ) warned = any("merge column data type mismatches" in str(r) for r in record) # result type depends on merge operation -> convert to pandas > result = result if isinstance(result, pd.DataFrame) else result.compute() dask/dataframe/tests/test_multi.py:693: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_merge[disk-outer] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) def test_merge(how, shuffle_method): A = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6], "y": [1, 1, 2, 2, 3, 4]}) a = dd.repartition(A, [0, 4, 5]) B = pd.DataFrame({"y": [1, 3, 4, 4, 5, 6], "z": [6, 5, 4, 3, 2, 1]}) b = dd.repartition(B, [0, 2, 5]) assert_eq( dd.merge( a, b, left_index=True, right_index=True, how=how, shuffle_method=shuffle_method, ), pd.merge(A, B, left_index=True, right_index=True, how=how), ) result = dd.merge(a, b, on="y", how=how) > list_eq(result, pd.merge(A, B, on="y", how=how)) dask/dataframe/tests/test_multi.py:720: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z 0 1.0 1.0 6.0 1 2.0 1.0 6.0 2 3.0 2.0 NaN 3 4.0 2.0 NaN 4 5.0 3.0 5.0 5 6.0 4.0 4.0 6 6.0 4.0 3.0 7 NaN NaN 2.0 8 NaN NaN 1.0 key = 'y' value = 0 1 1 1 2 2 3 2 4 3 5 4 6 4 7 5 8 6 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_merge[disk-right] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'disk' @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) def test_merge(how, shuffle_method): A = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6], "y": [1, 1, 2, 2, 3, 4]}) a = dd.repartition(A, [0, 4, 5]) B = pd.DataFrame({"y": [1, 3, 4, 4, 5, 6], "z": [6, 5, 4, 3, 2, 1]}) b = dd.repartition(B, [0, 2, 5]) assert_eq( dd.merge( a, b, left_index=True, right_index=True, how=how, shuffle_method=shuffle_method, ), pd.merge(A, B, left_index=True, right_index=True, how=how), ) result = dd.merge(a, b, on="y", how=how) > list_eq(result, pd.merge(A, B, on="y", how=how)) dask/dataframe/tests/test_multi.py:720: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z 0 1.0 1.0 6 1 2.0 1.0 6 2 5.0 3.0 5 3 6.0 4.0 4 4 6.0 4.0 3 5 NaN NaN 2 6 NaN NaN 1 key = 'y', value = 0 1 1 1 2 3 3 4 4 4 5 5 6 6 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'max' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_merge[tasks-outer] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'outer', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) def test_merge(how, shuffle_method): A = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6], "y": [1, 1, 2, 2, 3, 4]}) a = dd.repartition(A, [0, 4, 5]) B = pd.DataFrame({"y": [1, 3, 4, 4, 5, 6], "z": [6, 5, 4, 3, 2, 1]}) b = dd.repartition(B, [0, 2, 5]) assert_eq( dd.merge( a, b, left_index=True, right_index=True, how=how, shuffle_method=shuffle_method, ), pd.merge(A, B, left_index=True, right_index=True, how=how), ) result = dd.merge(a, b, on="y", how=how) > list_eq(result, pd.merge(A, B, on="y", how=how)) dask/dataframe/tests/test_multi.py:720: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z 0 1.0 1.0 6.0 1 2.0 1.0 6.0 2 3.0 2.0 NaN 3 4.0 2.0 NaN 4 5.0 3.0 5.0 5 6.0 4.0 4.0 6 6.0 4.0 3.0 7 NaN NaN 2.0 8 NaN NaN 1.0 key = 'y' value = 0 1 1 1 2 2 3 2 4 3 5 4 6 4 7 5 8 6 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'count', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_merge[tasks-right] ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', shuffle_method = 'tasks' @pytest.mark.parametrize("how", ["inner", "outer", "left", "right"]) def test_merge(how, shuffle_method): A = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6], "y": [1, 1, 2, 2, 3, 4]}) a = dd.repartition(A, [0, 4, 5]) B = pd.DataFrame({"y": [1, 3, 4, 4, 5, 6], "z": [6, 5, 4, 3, 2, 1]}) b = dd.repartition(B, [0, 2, 5]) assert_eq( dd.merge( a, b, left_index=True, right_index=True, how=how, shuffle_method=shuffle_method, ), pd.merge(A, B, left_index=True, right_index=True, how=how), ) result = dd.merge(a, b, on="y", how=how) > list_eq(result, pd.merge(A, B, on="y", how=how)) dask/dataframe/tests/test_multi.py:720: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y z 0 1.0 1.0 6 1 2.0 1.0 6 2 5.0 3.0 5 3 6.0 4.0 4 4 6.0 4.0 3 5 NaN NaN 2 6 NaN NaN 1 key = 'y', value = 0 1 1 1 2 3 3 4 4 4 5 5 6 6 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_merge_empty_left_df[disk-right] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk', how = 'right' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(shuffle_method, how): # We're merging on "a", but in a situation where the left # frame is missing some values, so some of the blocked merges # will involve an empty left frame. # https://github.com/pandas-dev/pandas/issues/9937 left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = dd.from_pandas(left, npartitions=4) dd_right = dd.from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/tests/test_multi.py:816: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11 1 NaN NaN 12 2 NaN NaN 13 3 NaN NaN 14 key = 'a', value = 0 0 1 0 2 3 3 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'count', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_merge_empty_left_df[disk-outer] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk', how = 'outer' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(shuffle_method, how): # We're merging on "a", but in a situation where the left # frame is missing some values, so some of the blocked merges # will involve an empty left frame. # https://github.com/pandas-dev/pandas/issues/9937 left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = dd.from_pandas(left, npartitions=4) dd_right = dd.from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/tests/test_multi.py:816: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11.0 1 NaN NaN 12.0 2 1.0 5.0 NaN 3 1.0 6.0 NaN 4 2.0 7.0 NaN 5 2.0 8.0 NaN 6 NaN NaN 13.0 7 NaN NaN 14.0 key = 'a' value = 0 0 1 0 2 1 3 1 4 2 5 2 6 3 7 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'count', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_empty_left_df[tasks-right] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks', how = 'right' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(shuffle_method, how): # We're merging on "a", but in a situation where the left # frame is missing some values, so some of the blocked merges # will involve an empty left frame. # https://github.com/pandas-dev/pandas/issues/9937 left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = dd.from_pandas(left, npartitions=4) dd_right = dd.from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/tests/test_multi.py:816: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11 1 NaN NaN 12 2 NaN NaN 13 3 NaN NaN 14 key = 'a', value = 0 0 1 0 2 3 3 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_merge_empty_left_df[tasks-outer] _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks', how = 'outer' @pytest.mark.parametrize("how", ["right", "outer"]) def test_merge_empty_left_df(shuffle_method, how): # We're merging on "a", but in a situation where the left # frame is missing some values, so some of the blocked merges # will involve an empty left frame. # https://github.com/pandas-dev/pandas/issues/9937 left = pd.DataFrame({"a": [1, 1, 2, 2], "val": [5, 6, 7, 8]}) right = pd.DataFrame({"a": [0, 0, 3, 3], "val": [11, 12, 13, 14]}) dd_left = dd.from_pandas(left, npartitions=4) dd_right = dd.from_pandas(right, npartitions=4) merged = dd_left.merge(dd_right, on="a", how=how) > expected = left.merge(right, on="a", how=how) dask/dataframe/tests/test_multi.py:816: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/frame.py:10832: in merge return merge( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a val_x val_y 0 NaN NaN 11.0 1 NaN NaN 12.0 2 1.0 5.0 NaN 3 1.0 6.0 NaN 4 2.0 7.0 NaN 5 2.0 8.0 NaN 6 NaN NaN 13.0 7 NaN NaN 14.0 key = 'a' value = 0 0 1 0 2 1 3 1 4 2 5 2 6 3 7 3 dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'count', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'count', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'count', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'count', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'count', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'size' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_concat_categorical[False-True-False] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 known = False, cat_index = True, divisions = False @pytest.mark.parametrize( "known, cat_index, divisions", [ (True, True, False), pytest.param( True, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (True, False, False), (False, True, False), pytest.param( False, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (False, False, False), ], ) def test_concat_categorical(known, cat_index, divisions): frames = [ pd.DataFrame( { "w": list("xxxxx"), "x": np.arange(5), "y": list("abcbc"), "z": np.arange(5, dtype="f8"), } ), pd.DataFrame( { "w": list("yyyyy"), "x": np.arange(5, 10), "y": list("abbba"), "z": np.arange(5, 10, dtype="f8"), } ), pd.DataFrame( { "w": list("zzzzz"), "x": np.arange(10, 15), "y": list("bcbcc"), "z": np.arange(10, 15, dtype="f8"), } ), ] for df in frames: df.w = df.w.astype("category") df.y = df.y.astype("category") if cat_index: frames = [df.set_index(df.y) for df in frames] dframes = [dd.from_pandas(p, npartitions=2, sort=divisions) for p in frames] if not known: > dframes[0]["y"] = dframes[0]["y"].cat.as_unknown() dask/dataframe/tests/test_multi.py:1975: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [w, x, y, z] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_concat_categorical[False-False-True] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 known = False, cat_index = False, divisions = True @pytest.mark.parametrize( "known, cat_index, divisions", [ (True, True, False), pytest.param( True, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (True, False, False), (False, True, False), pytest.param( False, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (False, False, False), ], ) def test_concat_categorical(known, cat_index, divisions): frames = [ pd.DataFrame( { "w": list("xxxxx"), "x": np.arange(5), "y": list("abcbc"), "z": np.arange(5, dtype="f8"), } ), pd.DataFrame( { "w": list("yyyyy"), "x": np.arange(5, 10), "y": list("abbba"), "z": np.arange(5, 10, dtype="f8"), } ), pd.DataFrame( { "w": list("zzzzz"), "x": np.arange(10, 15), "y": list("bcbcc"), "z": np.arange(10, 15, dtype="f8"), } ), ] for df in frames: df.w = df.w.astype("category") df.y = df.y.astype("category") if cat_index: frames = [df.set_index(df.y) for df in frames] dframes = [dd.from_pandas(p, npartitions=2, sort=divisions) for p in frames] if not known: > dframes[0]["y"] = dframes[0]["y"].cat.as_unknown() dask/dataframe/tests/test_multi.py:1975: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [w, x, y, z] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_concat_categorical[False-False-False] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 known = False, cat_index = False, divisions = False @pytest.mark.parametrize( "known, cat_index, divisions", [ (True, True, False), pytest.param( True, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (True, False, False), (False, True, False), pytest.param( False, False, True, marks=pytest.mark.xfail( PANDAS_GE_220 or PY_VERSION >= Version("3.12.0"), reason="fails on pandas dev: https://github.com/dask/dask/issues/10558", raises=AssertionError, strict=False, ), ), (False, False, False), ], ) def test_concat_categorical(known, cat_index, divisions): frames = [ pd.DataFrame( { "w": list("xxxxx"), "x": np.arange(5), "y": list("abcbc"), "z": np.arange(5, dtype="f8"), } ), pd.DataFrame( { "w": list("yyyyy"), "x": np.arange(5, 10), "y": list("abbba"), "z": np.arange(5, 10, dtype="f8"), } ), pd.DataFrame( { "w": list("zzzzz"), "x": np.arange(10, 15), "y": list("bcbcc"), "z": np.arange(10, 15, dtype="f8"), } ), ] for df in frames: df.w = df.w.astype("category") df.y = df.y.astype("category") if cat_index: frames = [df.set_index(df.y) for df in frames] dframes = [dd.from_pandas(p, npartitions=2, sort=divisions) for p in frames] if not known: > dframes[0]["y"] = dframes[0]["y"].cat.as_unknown() dask/dataframe/tests/test_multi.py:1975: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [w, x, y, z] Index: [], key = 'y' value = Series([], Name: y, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_concat_categorical_mixed_simple _____________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_concat_categorical_mixed_simple(): a = pd.Series(["a", "b", "c"], dtype="category") b = pd.Series(["a", "b"], dtype="category") da = dd.from_pandas(a, 2).cat.as_unknown().to_frame("A") db = dd.from_pandas(b, 2).to_frame("A") expected = concat([a.to_frame("A"), b.to_frame("A")]) result = dd.concat([da, db]) > assert_eq(result, expected) dask/dataframe/tests/test_multi.py:2024: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:612: in assert_sane_keynames dsk = dsk.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:541: in __dask_graph__ return out.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_concat.py:296: in _layer meta = strip_unknown_categories(self._meta) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:207: in strip_unknown_categories x[c] = x[c].cat.set_categories([]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A] Index: [], key = 'A' value = Series([], Name: A, dtype: category Categories (0, object): []) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_concat_datetimeindex ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_concat_datetimeindex(): # https://github.com/dask/dask/issues/2932 b2 = pd.DataFrame( {"x": ["a"]}, index=pd.DatetimeIndex(["2015-03-24 00:00:16"], dtype="datetime64[ns]"), ) b3 = pd.DataFrame( {"x": ["c"]}, index=pd.DatetimeIndex(["2015-03-29 00:00:44"], dtype="datetime64[ns]"), ) > b2["x"] = b2.x.astype("category").cat.set_categories(["a", "c"]) dask/dataframe/tests/test_multi.py:2038: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 2015-03-24 00:00:16 a, key = 'x' value = 2015-03-24 00:00:16 a Name: x, dtype: category Categories (2, object): ['a', 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_singleton_divisions ___________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_singleton_divisions(): df = pd.DataFrame({"x": [1, 1, 1]}, index=[1, 2, 3]) ddf = dd.from_pandas(df, npartitions=2) ddf2 = ddf.set_index("x") joined = ddf2.join(ddf2, rsuffix="r") assert joined.divisions == (1, 1) > joined.compute() dask/dataframe/tests/test_multi.py:2068: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_repartition_repeated_divisions ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_repartition_repeated_divisions(): df = pd.DataFrame({"x": [0, 0, 0, 0]}) ddf = dd.from_pandas(df, npartitions=2).set_index("x") ddf2 = ddf.repartition(divisions=(0, 0), force=True) > assert_eq(ddf2, df.set_index("x")) dask/dataframe/tests/test_multi.py:2076: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_multi_duplicate_divisions ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_multi_duplicate_divisions(): df1 = pd.DataFrame({"x": [0, 0, 0, 0]}) df2 = pd.DataFrame({"x": [0]}) ddf1 = dd.from_pandas(df1, npartitions=2).set_index("x") ddf2 = dd.from_pandas(df2, npartitions=1).set_index("x") assert ddf1.npartitions <= 2 assert len(ddf1) == len(df1) r1 = ddf1.merge(ddf2, how="left", left_index=True, right_index=True) sf1 = df1.set_index("x") sf2 = df2.set_index("x") r2 = sf1.merge(sf2, how="left", left_index=True, right_index=True) > assert_eq(r1, r2) dask/dataframe/tests/test_multi.py:2094: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_concat_ignore_order[True] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 ordered = True @pytest.mark.parametrize("ordered", [True, False]) def test_concat_ignore_order(ordered): pdf1 = pd.DataFrame( { "x": pd.Categorical( ["a", "b", "c", "a"], categories=["a", "b", "c"], ordered=ordered ) } ) ddf1 = dd.from_pandas(pdf1, 2) pdf2 = pd.DataFrame( { "x": pd.Categorical( ["c", "b", "a"], categories=["c", "b", "a"], ordered=ordered ) } ) ddf2 = dd.from_pandas(pdf2, 2) expected = pd.concat([pdf1, pdf2]) > expected["x"] = expected["x"].astype("category") dask/dataframe/tests/test_multi.py:2193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 a 1 b 2 c 3 a 0 c 1 b 2 a, key = 'x' value = 0 a 1 b 2 c 3 a 0 c 1 b 2 a Name: x, dtype: category Categories (3, object): ['a', 'b', 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_concat_ignore_order[False] ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 ordered = False @pytest.mark.parametrize("ordered", [True, False]) def test_concat_ignore_order(ordered): pdf1 = pd.DataFrame( { "x": pd.Categorical( ["a", "b", "c", "a"], categories=["a", "b", "c"], ordered=ordered ) } ) ddf1 = dd.from_pandas(pdf1, 2) pdf2 = pd.DataFrame( { "x": pd.Categorical( ["c", "b", "a"], categories=["c", "b", "a"], ordered=ordered ) } ) ddf2 = dd.from_pandas(pdf2, 2) expected = pd.concat([pdf1, pdf2]) > expected["x"] = expected["x"].astype("category") dask/dataframe/tests/test_multi.py:2193: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x 0 a 1 b 2 c 3 a 0 c 1 b 2 a, key = 'x' value = 0 a 1 b 2 c 3 a 0 c 1 b 2 a Name: x, dtype: category Categories (3, object): ['a', 'b', 'c'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_nullable_types_merge[Int64] _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dtype = 'Int64' @pytest.mark.parametrize( "dtype", [ "Int64", "Float64", pytest.param( "int64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), pytest.param( "float64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), ], ) def test_nullable_types_merge(dtype): df1 = pd.DataFrame({"a": [1, 2, 3], "b": [1, 1, 3], "c": list("aab")}) df2 = pd.DataFrame({"a": [1, 2, 3], "e": [1, 1, 3], "f": list("aab")}) > df1["a"] = df1["a"].astype(dtype) dask/dataframe/tests/test_multi.py:2222: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 1 1 a 1 2 1 a 2 3 3 b, key = 'a' value = 0 1 1 2 2 3 Name: a, dtype: Int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_nullable_types_merge[Float64] ______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dtype = 'Float64' @pytest.mark.parametrize( "dtype", [ "Int64", "Float64", pytest.param( "int64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), pytest.param( "float64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), ], ) def test_nullable_types_merge(dtype): df1 = pd.DataFrame({"a": [1, 2, 3], "b": [1, 1, 3], "c": list("aab")}) df2 = pd.DataFrame({"a": [1, 2, 3], "e": [1, 1, 3], "f": list("aab")}) > df1["a"] = df1["a"].astype(dtype) dask/dataframe/tests/test_multi.py:2222: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 1 1 a 1 2 1 a 2 3 3 b, key = 'a' value = 0 1.0 1 2.0 2 3.0 Name: a, dtype: Float64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_nullable_types_merge[int64[pyarrow]] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dtype = 'int64[pyarrow]' @pytest.mark.parametrize( "dtype", [ "Int64", "Float64", pytest.param( "int64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), pytest.param( "float64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), ], ) def test_nullable_types_merge(dtype): df1 = pd.DataFrame({"a": [1, 2, 3], "b": [1, 1, 3], "c": list("aab")}) df2 = pd.DataFrame({"a": [1, 2, 3], "e": [1, 1, 3], "f": list("aab")}) > df1["a"] = df1["a"].astype(dtype) dask/dataframe/tests/test_multi.py:2222: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 1 1 a 1 2 1 a 2 3 3 b, key = 'a' value = 0 1 1 2 2 3 Name: a, dtype: int64[pyarrow] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_nullable_types_merge[float64[pyarrow]] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 dtype = 'float64[pyarrow]' @pytest.mark.parametrize( "dtype", [ "Int64", "Float64", pytest.param( "int64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), pytest.param( "float64[pyarrow]", marks=pytest.mark.skipif( pa is None, reason="Support for ArrowDtypes requires pyarrow and pandas>=1.5.0", ), ), ], ) def test_nullable_types_merge(dtype): df1 = pd.DataFrame({"a": [1, 2, 3], "b": [1, 1, 3], "c": list("aab")}) df2 = pd.DataFrame({"a": [1, 2, 3], "e": [1, 1, 3], "f": list("aab")}) > df1["a"] = df1["a"].astype(dtype) dask/dataframe/tests/test_multi.py:2222: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a b c 0 1 1 a 1 2 1 a 2 3 3 b, key = 'a' value = 0 1.0 1 2.0 2 3.0 Name: a, dtype: double[pyarrow] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_categorical_join _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorical_join(): # https://github.com/dask/dask/issues/6134 df = pd.DataFrame( { "join_col": ["a", "a", "b", "b"], "a": [0, 0, 10, 10], } ) df2 = pd.DataFrame({"b": [1, 2, 1, 2]}, index=["a", "a", "b", "b"]) ddf = dd.from_pandas(df, npartitions=2) ddf2 = dd.from_pandas(df2, npartitions=1) > ddf["join_col"] = ddf["join_col"].astype("category") dask/dataframe/tests/test_multi.py:2249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [join_col, a] Index: [], key = 'join_col' value = Series([], Name: join_col, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __ test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts ___ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts(): df1 = pd.DataFrame({"A": pd.Categorical([0, 1]), "B": pd.Categorical(["a", "b"])}) df2 = pd.DataFrame({"C": pd.Categorical(["a", "b"])}) > expected = pd.merge(df2, df1, left_index=True, right_on="A") dask/dataframe/tests/test_multi.py:2283: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:170: in merge op = _MergeOperation( /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:807: in __init__ self._maybe_coerce_merge_keys() /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1552: in _maybe_coerce_merge_keys self.right[name] = self.right[name].astype(typ) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B 0 0 a 1 1 b, key = 'A' value = 0 0 1 1 Name: A, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_categorical_merge_retains_category_dtype _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_categorical_merge_retains_category_dtype(): # https://github.com/dask/dask/issues/6142 a = pd.DataFrame({"A": [0, 1, 2, 3], "B": [4, 5, 6, 7]}) b = pd.DataFrame({"A": [0, 1, 2, 4], "C": [4, 5, 7, 7]}) df1 = dd.from_pandas(a, 2) > df1["A"] = df1.A.astype("category") dask/dataframe/tests/test_multi.py:2302: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = 'A' value = Series([], Name: A, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-28-inner] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', npartitions = 28, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-28-left] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', npartitions = 28, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-28-right] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', npartitions = 28, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-32-inner] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', npartitions = 32, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-32-left] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', npartitions = 32, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[lg-32-right] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', npartitions = 32, base = 'lg' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-28-inner] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', npartitions = 28, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-28-left] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', npartitions = 28, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-28-right] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', npartitions = 28, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) > pd_result = pd.merge(left, right, on="y", how=how) dask/dataframe/tests/test_multi.py:2372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x_x y x_y 0 80.0 0.0 68 1 97.0 1.0 18 2 82.0 2.0 16 3 98.0 3.0 5 4 21.0 4... NaN 15 2996 NaN NaN 84 2997 NaN NaN 33 2998 NaN NaN 64 2999 NaN NaN 30 [3000 rows x 3 columns] key = 'y' value = 0 0 1 1 2 2 3 3 4 4 ... 2995 2995 2996 2996 2997 2997 2998 2998 2999 2999 Length: 3000, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-32-inner] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'inner', npartitions = 32, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-32-left] __________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'left', npartitions = 32, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) pd_result = pd.merge(left, right, on="y", how=how) # Make sure `on` dtypes match > dd_result["y"] = dd_result["y"].astype(np.int32) dask/dataframe/tests/test_multi.py:2375: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x_x, y, x_y] Index: [], key = 'y' value = Series([], Name: y, dtype: int32) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_merge_tasks_large_to_small[sm-32-right] _________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 how = 'right', npartitions = 32, base = 'sm' @pytest.mark.parametrize("how", ["inner", "left", "right"]) @pytest.mark.parametrize("npartitions", [28, 32]) @pytest.mark.parametrize("base", ["lg", "sm"]) def test_merge_tasks_large_to_small(how, npartitions, base): size_lg = 3000 size_sm = 300 npartitions_lg = 30 npartitions_sm = 3 broadcast_bias = 1.0 # Prioritize broadcast lg = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_lg), "y": np.arange(size_lg), } ) ddf_lg = dd.from_pandas(lg, npartitions=npartitions_lg) sm = pd.DataFrame( { "x": np.random.choice(np.arange(100), size_sm), "y": np.arange(size_sm), } ) ddf_sm = dd.from_pandas(sm, npartitions=npartitions_sm) if base == "lg": left = lg ddf_left = ddf_lg right = sm ddf_right = ddf_sm else: left = sm ddf_left = ddf_sm right = lg ddf_right = ddf_lg dd_result = dd.merge( ddf_left, ddf_right, on="y", how=how, npartitions=npartitions, broadcast=broadcast_bias, shuffle_method="tasks", ) > pd_result = pd.merge(left, right, on="y", how=how) dask/dataframe/tests/test_multi.py:2372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x_x y x_y 0 97.0 0.0 58 1 27.0 1.0 41 2 29.0 2.0 71 3 11.0 3.0 79 4 26.0 4... NaN 53 2996 NaN NaN 31 2997 NaN NaN 52 2998 NaN NaN 64 2999 NaN NaN 41 [3000 rows x 3 columns] key = 'y' value = 0 0 1 1 2 2 3 3 4 4 ... 2995 2995 2996 2996 2997 2997 2998 2998 2999 2999 Length: 3000, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'first' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last', groupby = 'cat_1' observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = True @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_get_dummies_categories_order _______________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_get_dummies_categories_order(): df = pd.DataFrame({"a": [0.0, 0.0, 1.0, 1.0, 0.0], "b": [1.0, 0.0, 1.0, 0.0, 1.0]}) ddf = dd.from_pandas(df, npartitions=1) > ddf = ddf.categorize(columns=["a", "b"]) dask/dataframe/tests/test_reshape.py:37: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3802: in categorize return new_collection(Categorize(self, categories, index)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_categorical.py:175: in _meta return _categorize_block( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/categorical.py:25: in _categorize_block df[col] = df[col].astype(cat_dtype) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = 'a' value = Series([], Name: a, dtype: category Categories (2, float64): [0.0, 1.0]) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_get_dummies_errors ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_get_dummies_errors(): with pytest.raises(NotImplementedError): # not Categorical s = pd.Series([1, 1, 1, 2, 2, 1, 3, 4]) ds = dd.from_pandas(s, 2) dd.get_dummies(ds) # unknown categories df = pd.DataFrame({"x": list("abcbc"), "y": list("bcbcb")}) ddf = dd.from_pandas(df, npartitions=2) > ddf = ddf.astype("category") dask/dataframe/tests/test_reshape.py:178: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:1902: in astype return new_collection(self.expr.astype(dtypes)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1576: in _meta meta = clear_known_categories(meta) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:250: in clear_known_categories x[c] = x[c].cat.set_categories([UNKNOWN_CATEGORIES]) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = 'x' value = Series([], Name: x, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last', groupby = 'cat_1' observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = True, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _ test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-unknown] _ [gw1] linux -- Python 3.14.0 /usr/bin/python3 known_cats = False, ordered_cats = False, agg_func = 'last' groupby = ['cat_1', 'cat_2'], observed = False @pytest.mark.parametrize("known_cats", [True, False], ids=["known", "unknown"]) @pytest.mark.parametrize("ordered_cats", [True, False], ids=["ordered", "unordererd"]) @pytest.mark.parametrize("groupby", ["cat_1", ["cat_1", "cat_2"]]) @pytest.mark.parametrize("observed", [True, False], ids=["observed", "unobserved"]) def test_groupby_aggregate_categorical_observed( known_cats, ordered_cats, agg_func, groupby, observed ): if agg_func in ["cov", "corr", "nunique"]: pytest.skip("Not implemented for DataFrameGroupBy yet.") if agg_func == "median" and isinstance(groupby, str): pytest.skip("Can't calculate median over categorical") if agg_func == "median": pytest.skip("Can't deal with unobserved cats in median at the moment") if agg_func in ["sum", "count", "prod"] and groupby != "cat_1": pytest.skip("Gives zeros rather than nans.") if agg_func in ["std", "var"] and observed: pytest.skip("Can't calculate observed with all nans") if agg_func in ["sum", "prod"]: pytest.xfail("Not implemented for category type with pandas 2.0") pdf = pd.DataFrame( { "cat_1": pd.Categorical( list("AB"), categories=list("ABCDE"), ordered=ordered_cats ), "cat_2": pd.Categorical([1, 2], categories=[1, 2, 3], ordered=ordered_cats), "value_1": np.random.uniform(size=2), } ) ddf = dd.from_pandas(pdf, 2) if not known_cats: > ddf["cat_1"] = ddf["cat_1"].cat.as_unknown() dask/dataframe/tests/test_groupby.py:2832: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [cat_1, cat_2, value_1] Index: [], key = 'cat_1' value = Series([], Name: cat_1, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_pivot_table_errors ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_pivot_table_errors(): df = pd.DataFrame( { "A": np.random.choice(list("abc"), size=10), "B": np.random.randn(10), "C": pd.Categorical(np.random.choice(list("abc"), size=10)), } ) ddf = dd.from_pandas(df, 2) msg = "'index' must be the name of an existing column" with pytest.raises(ValueError) as err: dd.pivot_table(ddf, index=["A"], columns="C", values="B") assert msg in str(err.value) msg = "'columns' must be the name of an existing column" with pytest.raises(ValueError) as err: dd.pivot_table(ddf, index="A", columns=["C"], values="B") assert msg in str(err.value) msg = "'values' must refer to an existing column or columns" with pytest.raises(ValueError) as err: dd.pivot_table(ddf, index="A", columns="C", values=[["B"]]) assert msg in str(err.value) msg = "aggfunc must be either 'mean', 'sum', 'count', 'first', 'last'" with pytest.raises(ValueError) as err: dd.pivot_table(ddf, index="A", columns="C", values="B", aggfunc=["sum"]) assert msg in str(err.value) with pytest.raises(ValueError) as err: dd.pivot_table(ddf, index="A", columns="C", values="B", aggfunc="xx") assert msg in str(err.value) # unknown categories > ddf["C"] = ddf.C.cat.as_unknown() dask/dataframe/tests/test_reshape.py:318: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:3051: in __setitem__ out = self.assign(**{key: value}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2833: in assign result = new_collection(expr.Assign(result, *args)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_collections.py:8: in new_collection meta = expr._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B, C] Index: [], key = 'C' value = Series([], Name: C, dtype: category Categories (1, object): ['__UNKNOWN_CATEGORIES__']) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_numeric_only_true[disk-cumprod] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "func", [ "min", "max", "sum", "prod", "first", "last", "corr", "cov", "cumprod", "cumsum", "mean", "median", "std", "var", ], ) def test_groupby_numeric_only_true(func): df = pd.DataFrame({"A": [1, 1, 2, 2], "B": [3, 4, 3, 4], "C": ["a", "b", "c", "d"]}) ddf = dd.from_pandas(df, npartitions=2) ddf_result = getattr(ddf.groupby("A"), func)(numeric_only=True) pdf_result = getattr(df.groupby("A"), func)(numeric_only=True) > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_groupby.py:3170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [B] Index: [], key = '_by_A' value = Series([], Name: A, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_numeric_only_true[disk-cumsum] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "func", [ "min", "max", "sum", "prod", "first", "last", "corr", "cov", "cumprod", "cumsum", "mean", "median", "std", "var", ], ) def test_groupby_numeric_only_true(func): df = pd.DataFrame({"A": [1, 1, 2, 2], "B": [3, 4, 3, 4], "C": ["a", "b", "c", "d"]}) ddf = dd.from_pandas(df, npartitions=2) ddf_result = getattr(ddf.groupby("A"), func)(numeric_only=True) pdf_result = getattr(df.groupby("A"), func)(numeric_only=True) > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_groupby.py:3170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [B] Index: [], key = '_by_A' value = Series([], Name: A, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_groupby_numeric_only_true[tasks-cumprod] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumprod' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "func", [ "min", "max", "sum", "prod", "first", "last", "corr", "cov", "cumprod", "cumsum", "mean", "median", "std", "var", ], ) def test_groupby_numeric_only_true(func): df = pd.DataFrame({"A": [1, 1, 2, 2], "B": [3, 4, 3, 4], "C": ["a", "b", "c", "d"]}) ddf = dd.from_pandas(df, npartitions=2) ddf_result = getattr(ddf.groupby("A"), func)(numeric_only=True) pdf_result = getattr(df.groupby("A"), func)(numeric_only=True) > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_groupby.py:3170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [B] Index: [], key = '_by_A' value = Series([], Name: A, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_groupby_numeric_only_true[tasks-cumsum] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 func = 'cumsum' @pytest.mark.skipif( WINDOWS and sys.version_info < (3, 11), reason="https://github.com/dask/dask/pull/11320#issuecomment-2293798597", ) @pytest.mark.parametrize( "func", [ "min", "max", "sum", "prod", "first", "last", "corr", "cov", "cumprod", "cumsum", "mean", "median", "std", "var", ], ) def test_groupby_numeric_only_true(func): df = pd.DataFrame({"A": [1, 1, 2, 2], "B": [3, 4, 3, 4], "C": ["a", "b", "c", "d"]}) ddf = dd.from_pandas(df, npartitions=2) ddf_result = getattr(ddf.groupby("A"), func)(numeric_only=True) pdf_result = getattr(df.groupby("A"), func)(numeric_only=True) > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_groupby.py:3170: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:681: in compute results = schedule(expr, keys, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:547: in __dask_graph__ layers.append(expr._layer()) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:271: in _layer (self._name, i): self._task((self._name, i), i) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:739: in _task "_meta": self._meta, /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:695: in _meta return _get_meta_map_partitions( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:4078: in _get_meta_map_partitions meta_index = getattr(make_meta(dfs[0]), "index", None) if dfs else None ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dispatch.py:121: in make_meta if not isinstance(x, (pd.Series, pd.DataFrame, pd.Index)) and hasattr(x, "_meta"): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [B] Index: [], key = '_by_A' value = Series([], Name: A, dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_sort_values_tasks_backend[False-x-pandas] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = 'x', ascending = False @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_sort_values_tasks_backend[False-z-pandas] ________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = 'z', ascending = False @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_tasks_backend[False-by2-pandas] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = ['x', 'z'], ascending = False @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_tasks_backend[False-by3-pandas] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = ['z', 'x'], ascending = False @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-a-True-first] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'a', ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_with_nulls[data0-5-a-True-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'a', ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-a-False-first] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'a', ascending = False, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-a-False-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'a', ascending = False, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-b-True-first] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'b', ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_with_nulls[data0-5-b-True-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'b', ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-b-False-first] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'b', ascending = False, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-b-False-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = 'b', ascending = False, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data0-5-by2-True-first] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = ['a', 'b'], ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data0-5-by2-True-last] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = ['a', 'b'], ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data0-5-by2-False-first] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = ['a', 'b'], ascending = False, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data0-5-by2-False-last] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [None, None, None, None, None, None, ...]} nparts = 5, by = ['a', 'b'], ascending = False, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index_general[disk-4] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 4, shuffle_method = 'disk' @pytest.mark.parametrize( "npartitions", [1, 4, 7, pytest.param(23, marks=pytest.mark.slow)] ) def test_set_index_general(npartitions, shuffle_method): names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.random(100) // 0.2, "z": np.random.choice(names, 100), }, index=np.random.random(100), ) # Ensure extension dtypes work df = df.astype({"x": "Float64", "z": "string"}) ddf = dd.from_pandas(df, npartitions=npartitions) > assert_eq(df.set_index("x"), ddf.set_index("x", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data1-5-a-True-first] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'a', ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index_general[disk-7] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 7, shuffle_method = 'disk' @pytest.mark.parametrize( "npartitions", [1, 4, 7, pytest.param(23, marks=pytest.mark.slow)] ) def test_set_index_general(npartitions, shuffle_method): names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.random(100) // 0.2, "z": np.random.choice(names, 100), }, index=np.random.random(100), ) # Ensure extension dtypes work df = df.astype({"x": "Float64", "z": "string"}) ddf = dd.from_pandas(df, npartitions=npartitions) > assert_eq(df.set_index("x"), ddf.set_index("x", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_with_nulls[data1-5-a-True-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'a', ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_set_index_general[tasks-4] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 4, shuffle_method = 'tasks' @pytest.mark.parametrize( "npartitions", [1, 4, 7, pytest.param(23, marks=pytest.mark.slow)] ) def test_set_index_general(npartitions, shuffle_method): names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.random(100) // 0.2, "z": np.random.choice(names, 100), }, index=np.random.random(100), ) # Ensure extension dtypes work df = df.astype({"x": "Float64", "z": "string"}) ddf = dd.from_pandas(df, npartitions=npartitions) > assert_eq(df.set_index("x"), ddf.set_index("x", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data1-5-a-False-first] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'a', ascending = False, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_set_index_general[tasks-7] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 7, shuffle_method = 'tasks' @pytest.mark.parametrize( "npartitions", [1, 4, 7, pytest.param(23, marks=pytest.mark.slow)] ) def test_set_index_general(npartitions, shuffle_method): names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.random(100) // 0.2, "z": np.random.choice(names, 100), }, index=np.random.random(100), ) # Ensure extension dtypes work df = df.astype({"x": "Float64", "z": "string"}) ddf = dd.from_pandas(df, npartitions=npartitions) > assert_eq(df.set_index("x"), ddf.set_index("x", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:183: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data1-5-a-False-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'a', ascending = False, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_set_index_string[disk-string[python]] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk', string_dtype = 'string[python]' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data1-5-b-True-first] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'b', ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_set_index_string[disk-string[pyarrow]] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk', string_dtype = 'string[pyarrow]' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_string[disk-object] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk', string_dtype = 'object' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_with_nulls[data1-5-b-True-last] _______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = 'b', ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_set_index_string[tasks-string[python]] __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks', string_dtype = 'string[python]' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data1-5-by2-True-first] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = ['a', 'b'], ascending = True, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_set_index_string[tasks-string[pyarrow]] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks', string_dtype = 'string[pyarrow]' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________ test_sort_values_with_nulls[data1-5-by2-True-last] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = ['a', 'b'], ascending = True, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_set_index_string[tasks-object] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks', string_dtype = 'object' @pytest.mark.parametrize( "string_dtype", ["string[python]", "string[pyarrow]", "object"] ) def test_set_index_string(shuffle_method, string_dtype): if string_dtype == "string[pyarrow]": pytest.importorskip("pyarrow") names = ["alice", "bob", "ricky"] df = pd.DataFrame( { "x": np.random.random(100), "y": np.random.choice(names, 100), }, index=np.random.random(100), ) df = df.astype({"y": string_dtype}) ddf = dd.from_pandas(df, npartitions=10) > assert_eq(df.set_index("y"), ddf.set_index("y", shuffle_method=shuffle_method)) dask/dataframe/tests/test_shuffle.py:212: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data1-5-by2-False-first] _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = ['a', 'b'], ascending = False, na_position = 'first' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_set_index_names[tasks] __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_set_index_names(shuffle_method): if shuffle_method == "disk": pytest.xfail("dsk names in disk shuffle are not deterministic") df = pd.DataFrame( {"x": np.random.random(100), "y": np.random.random(100) // 0.2}, index=np.random.random(100), ) ddf = dd.from_pandas(df, npartitions=4) > assert set(ddf.set_index("x", shuffle_method=shuffle_method).dask) == set( ddf.set_index("x", shuffle_method=shuffle_method).dask ) dask/dataframe/tests/test_shuffle.py:239: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:536: in dask return self.__dask_graph__() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:540: in __dask_graph__ out = out.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_sort_values_with_nulls[data1-5-by2-False-last] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = {'a': [0, 1, 2, 3, 4, 5, ...], 'b': [19, 18, 17, 16, 15, 14, ...]} nparts = 5, by = ['a', 'b'], ascending = False, na_position = 'last' @pytest.mark.parametrize("na_position", ["first", "last"]) @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nparts", [1, 5]) @pytest.mark.parametrize( "data", [ { "a": list(range(50)) + [None] * 50 + list(range(50, 100)), "b": [None] * 100 + list(range(100, 150)), }, { "a": list(range(15)) + [None] * 5, "b": list(reversed(range(20))), }, ], ) def test_sort_values_with_nulls(data, nparts, by, ascending, na_position): df = pd.DataFrame(data) ddf = dd.from_pandas(df, npartitions=nparts) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending, na_position=na_position) expect = df.sort_values(by=by, ascending=ascending, na_position=na_position) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1151: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_set_index_2[disk] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk' def test_set_index_2(shuffle_method): df = dd.demo.make_timeseries( "2000", "2004", {"value": float, "name": str, "id": int}, freq="2h", partition_freq=f"1{ME}", seed=1, ) df2 = df.set_index("name", shuffle_method=shuffle_method) > df2.value.sum().compute(scheduler="sync") dask/dataframe/tests/test_shuffle.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [value, name] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_shuffle_by_as_list ____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_shuffle_by_as_list(): df = pd.DataFrame({"a": [1, 3, 2]}) ddf = dd.from_pandas(df, npartitions=3) with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=["a"], ascending=True) expect = pd.DataFrame({"a": [1, 2, 3]}) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_set_index_2[tasks] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_set_index_2(shuffle_method): df = dd.demo.make_timeseries( "2000", "2004", {"value": float, "name": str, "id": int}, freq="2h", partition_freq=f"1{ME}", seed=1, ) df2 = df.set_index("name", shuffle_method=shuffle_method) > df2.value.sum().compute(scheduler="sync") dask/dataframe/tests/test_shuffle.py:267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [value, name] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_sort_values_custom_function[10-by0] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 by = ['a', 'b'], nparts = 10 @pytest.mark.parametrize("by", [["a", "b"], ["b", "a"]]) @pytest.mark.parametrize("nparts", [1, 10]) def test_sort_values_custom_function(by, nparts): df = pd.DataFrame({"a": [1, 2, 3] * 20, "b": [4, 5, 6, 7] * 15}) ddf = dd.from_pandas(df, npartitions=nparts) def f(partition, by_columns, ascending, na_position, **kwargs): return partition.sort_values( by_columns, ascending=ascending, na_position=na_position ) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values( by=by[0], sort_function=f, sort_function_kwargs={"by_columns": by} ) expect = df.sort_values(by=by) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_set_index_3[disk] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk' def test_set_index_3(shuffle_method): df = pd.DataFrame(np.random.random((10, 2)), columns=["x", "y"]) ddf = dd.from_pandas(df, npartitions=5) ddf2 = ddf.set_index( "x", shuffle_method=shuffle_method, max_branch=2, npartitions=ddf.npartitions ) df2 = df.set_index("x") > assert_eq(df2, ddf2) dask/dataframe/tests/test_shuffle.py:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________ test_sort_values_custom_function[10-by1] ___________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 by = ['b', 'a'], nparts = 10 @pytest.mark.parametrize("by", [["a", "b"], ["b", "a"]]) @pytest.mark.parametrize("nparts", [1, 10]) def test_sort_values_custom_function(by, nparts): df = pd.DataFrame({"a": [1, 2, 3] * 20, "b": [4, 5, 6, 7] * 15}) ddf = dd.from_pandas(df, npartitions=nparts) def f(partition, by_columns, ascending, na_position, **kwargs): return partition.sort_values( by_columns, ascending=ascending, na_position=na_position ) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values( by=by[0], sort_function=f, sort_function_kwargs={"by_columns": by} ) expect = df.sort_values(by=by) > dd.assert_eq(got, expect, check_index=False) dask/dataframe/tests/test_shuffle.py:1189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_set_index_3[tasks] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_set_index_3(shuffle_method): df = pd.DataFrame(np.random.random((10, 2)), columns=["x", "y"]) ddf = dd.from_pandas(df, npartitions=5) ddf2 = ddf.set_index( "x", shuffle_method=shuffle_method, max_branch=2, npartitions=ddf.npartitions ) df2 = df.set_index("x") > assert_eq(df2, ddf2) dask/dataframe/tests/test_shuffle.py:278: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[True-True] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = True, append = True @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): """ GH10333 - Allow setting index on existing partitions without computing new divisions and repartitioning. """ df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/tests/test_shuffle.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________________ test_sort_values_bool_ascending ________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_sort_values_bool_ascending(): df = pd.DataFrame({"a": [1, 2, 3] * 20, "b": [4, 5, 6, 7] * 15}) ddf = dd.from_pandas(df, npartitions=10) # attempt to sort with list of ascending booleans with pytest.raises(ValueError, match="length"): ddf.sort_values(by="a", ascending=[True, False]) with pytest.raises(ValueError, match="length"): ddf.sort_values(by=["a", "b"], ascending=[True]) > assert_eq( ddf.sort_values(by="a", ascending=[True]), df.sort_values(by="a", ascending=[True]), ) dask/dataframe/tests/test_shuffle.py:1201: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[True-False] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = False, append = True @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): """ GH10333 - Allow setting index on existing partitions without computing new divisions and repartitioning. """ df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/tests/test_shuffle.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values_timestamp[3] _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 npartitions = 3 @pytest.mark.parametrize("npartitions", [1, 3]) def test_sort_values_timestamp(npartitions): # Regression test for https://github.com/dask/dask/issues/9641 df = pd.DataFrame.from_records( [ [pd.Timestamp("2002-01-11 21:00:01+0000", tz="UTC"), 4223, 54719.0], [pd.Timestamp("2002-01-14 21:00:01+0000", tz="UTC"), 6942, 19223.0], [pd.Timestamp("2002-01-15 21:00:01+0000", tz="UTC"), 12551, 72865.0], [pd.Timestamp("2002-01-23 21:00:01+0000", tz="UTC"), 6005, 57670.0], [pd.Timestamp("2002-01-29 21:00:01+0000", tz="UTC"), 2043, 58600.0], [pd.Timestamp("2002-02-01 21:00:01+0000", tz="UTC"), 6909, 8459.0], [pd.Timestamp("2002-01-14 21:00:01+0000", tz="UTC"), 5326, 77339.0], [pd.Timestamp("2002-01-14 21:00:01+0000", tz="UTC"), 4711, 54135.0], [pd.Timestamp("2002-01-22 21:00:01+0000", tz="UTC"), 103, 57627.0], [pd.Timestamp("2002-01-30 21:00:01+0000", tz="UTC"), 16862, 54458.0], [pd.Timestamp("2002-01-31 21:00:01+0000", tz="UTC"), 4143, 56280.0], ], columns=["time", "id1", "id2"], ) ddf = dd.from_pandas(df, npartitions=npartitions) result = ddf.sort_values("time") expected = df.sort_values("time") > assert_eq(result, expected) dask/dataframe/tests/test_shuffle.py:1233: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [time, id1, id2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_no_sort[False-True] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = True, append = False @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): """ GH10333 - Allow setting index on existing partitions without computing new divisions and repartitioning. """ df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/tests/test_shuffle.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_set_index_pyarrow_dtype[data5-date32[pyarrow]] ______________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = [datetime.date(2022, 1, 1), datetime.date(1999, 12, 31)] dtype = 'date32[pyarrow]' @pytest.mark.skipif(pa is None, reason="Need pyarrow") @pytest.mark.parametrize( "data, dtype", [ (["a", "b"], "string[pyarrow]"), ([b"a", b"b"], "binary[pyarrow]"), # Should probably fix upstream, https://github.com/pandas-dev/pandas/issues/52590 # (["a", "b"], pa.large_string()), # ([b"a", b"b"], pa.large_binary()), ([1, 2], "int64[pyarrow]"), ([1, 2], "float64[pyarrow]"), ([1, 2], "uint64[pyarrow]"), ([date(2022, 1, 1), date(1999, 12, 31)], "date32[pyarrow]"), ( [pd.Timestamp("2022-01-01"), pd.Timestamp("2023-01-02")], "timestamp[ns][pyarrow]", ), ([Decimal("5"), Decimal("6.24")], "decimal128"), ([pd.Timedelta("1 day"), pd.Timedelta("20 days")], "duration[ns][pyarrow]"), ([time(12, 0), time(0, 12)], "time64[ns][pyarrow]"), ], ) def test_set_index_pyarrow_dtype(data, dtype): if dtype == "decimal128": dtype = pd.ArrowDtype(pa.decimal128(10, 2)) pdf = pd.DataFrame({"a": 1, "arrow_col": pd.Series(data, dtype=dtype)}) ddf = dd.from_pandas(pdf, npartitions=2) pdf_result = pdf.set_index("arrow_col") ddf_result = ddf.set_index("arrow_col") > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_shuffle.py:1265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, arrow_col] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________ test_set_index_no_sort[False-False] ______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = False, append = False @pytest.mark.parametrize("drop", (True, False)) @pytest.mark.parametrize("append", (True, False)) def test_set_index_no_sort(drop, append): """ GH10333 - Allow setting index on existing partitions without computing new divisions and repartitioning. """ df = pd.DataFrame({"col1": [2, 4, 1, 3, 5], "col2": [1, 2, 3, 4, 5]}) ddf = dd.from_pandas(df, npartitions=2) assert ddf.npartitions > 1 # Default is sort=True # Index in ddf will be same values, but sorted df_result = df.set_index("col1") ddf_result = ddf.set_index("col1") assert ddf_result.known_divisions > assert_eq(ddf_result, df_result.sort_index(), sort_results=False) dask/dataframe/tests/test_shuffle.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [col1, col2] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________ test_set_index_pyarrow_dtype[data9-time64[ns][pyarrow]] ____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 data = [datetime.time(12, 0), datetime.time(0, 12)] dtype = 'time64[ns][pyarrow]' @pytest.mark.skipif(pa is None, reason="Need pyarrow") @pytest.mark.parametrize( "data, dtype", [ (["a", "b"], "string[pyarrow]"), ([b"a", b"b"], "binary[pyarrow]"), # Should probably fix upstream, https://github.com/pandas-dev/pandas/issues/52590 # (["a", "b"], pa.large_string()), # ([b"a", b"b"], pa.large_binary()), ([1, 2], "int64[pyarrow]"), ([1, 2], "float64[pyarrow]"), ([1, 2], "uint64[pyarrow]"), ([date(2022, 1, 1), date(1999, 12, 31)], "date32[pyarrow]"), ( [pd.Timestamp("2022-01-01"), pd.Timestamp("2023-01-02")], "timestamp[ns][pyarrow]", ), ([Decimal("5"), Decimal("6.24")], "decimal128"), ([pd.Timedelta("1 day"), pd.Timedelta("20 days")], "duration[ns][pyarrow]"), ([time(12, 0), time(0, 12)], "time64[ns][pyarrow]"), ], ) def test_set_index_pyarrow_dtype(data, dtype): if dtype == "decimal128": dtype = pd.ArrowDtype(pa.decimal128(10, 2)) pdf = pd.DataFrame({"a": 1, "arrow_col": pd.Series(data, dtype=dtype)}) ddf = dd.from_pandas(pdf, npartitions=2) pdf_result = pdf.set_index("arrow_col") ddf_result = ddf.set_index("arrow_col") > assert_eq(ddf_result, pdf_result) dask/dataframe/tests/test_shuffle.py:1265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, arrow_col] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_shuffle_sort[disk] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'disk' def test_shuffle_sort(shuffle_method): df = pd.DataFrame({"x": [1, 2, 3, 2, 1], "y": [9, 8, 7, 1, 5]}) ddf = dd.from_pandas(df, npartitions=3) df2 = df.set_index("x").sort_index() ddf2 = ddf.set_index("x", shuffle_method=shuffle_method) > assert_eq(ddf2, df2, sort_results=False) dask/dataframe/tests/test_shuffle.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_shuffle_nulls_introduced _________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_shuffle_nulls_introduced(): df1 = pd.DataFrame([[True], [False]] * 50, columns=["A"]) df1["B"] = list(range(100)) df2 = pd.DataFrame( [[2, 3], [109, 2], [345, 3], [50, 7], [95, 1]], columns=["B", "C"] ) ddf1 = dd.from_pandas(df1, npartitions=10) ddf2 = dd.from_pandas(df2, npartitions=1) meta = pd.Series(dtype=int, index=pd.Index([], dtype=bool, name="A"), name="A") include_groups = {"include_groups": False} if PANDAS_GE_220 else {} result = ( dd.merge(ddf1, ddf2, how="outer", on="B") .groupby("A") .apply(lambda df: len(df), meta=meta, **include_groups) ) expected = ( > pd.merge(df1, df2, how="outer", on="B") .groupby("A") .apply(lambda df: len(df), **include_groups) ) dask/dataframe/tests/test_shuffle.py:1286: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:184: in merge return op.get_result(copy=copy) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:896: in get_result self._maybe_add_join_keys(result, left_indexer, right_indexer) /usr/lib64/python3.14/site-packages/pandas/core/reshape/merge.py:1100: in _maybe_add_join_keys result[name] = result._constructor_sliced( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = A B C 0 True 0.0 NaN 1 False 1.0 NaN 2 True 2.0 3.0 3 False 3.0 NaN 4 Tr....0 NaN 98 True 98.0 NaN 99 False 99.0 NaN 100 NaN NaN 2.0 101 NaN NaN 3.0 [102 rows x 3 columns] key = 'B' value = 0 0 1 1 2 2 3 3 4 4 ... 97 97 98 98 99 99 100 109 101 345 Length: 102, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_shuffle_sort[tasks] ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 shuffle_method = 'tasks' def test_shuffle_sort(shuffle_method): df = pd.DataFrame({"x": [1, 2, 3, 2, 1], "y": [9, 8, 7, 1, 5]}) ddf = dd.from_pandas(df, npartitions=3) df2 = df.set_index("x").sort_index() ddf2 = ddf.set_index("x", shuffle_method=shuffle_method) > assert_eq(ddf2, df2, sort_results=False) dask/dataframe/tests/test_shuffle.py:317: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_set_index_with_explicit_divisions ____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_with_explicit_divisions(): df = pd.DataFrame({"x": [4, 1, 2, 5]}, index=[10, 20, 30, 40]) ddf = dd.from_pandas(df, npartitions=2) def throw(*args, **kwargs): raise Exception() with dask.config.set(scheduler=throw): ddf2 = ddf.set_index("x", divisions=[1, 3, 5]) assert ddf2.divisions == (1, 3, 5) df2 = df.set_index("x") > assert_eq(ddf2, df2) dask/dataframe/tests/test_shuffle.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_set_index_divisions_2 __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_divisions_2(): df = pd.DataFrame({"x": [1, 2, 3, 4, 5, 6], "y": list("abdabd")}) ddf = dd.from_pandas(df, 2) result = ddf.set_index("y", divisions=["a", "c", "d"]) assert result.divisions == ("a", "c", "d") > assert list(result.compute(scheduler="sync").index[-2:]) == ["d", "d"] dask/dataframe/tests/test_shuffle.py:380: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_set_index[pandas] ____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 engine = 'pandas' @pytest.mark.parametrize( "engine", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) def test_set_index(engine): if engine == "cudf": # NOTE: engine == "cudf" requires cudf/dask_cudf, # will be skipped by non-GPU CI. pytest.importorskip("dask_cudf") dsk = { ("x", 0): pd.DataFrame({"a": [1, 2, 3], "b": [4, 2, 6]}, index=[0, 1, 3]), ("x", 1): pd.DataFrame({"a": [4, 5, 6], "b": [3, 5, 8]}, index=[5, 6, 8]), ("x", 2): pd.DataFrame({"a": [7, 8, 9], "b": [9, 1, 8]}, index=[9, 9, 9]), } d = dd.repartition(pd.concat(dsk.values()), [0, 4, 9, 9]) full = d.compute() d2 = d.set_index("b", npartitions=3) assert d2.npartitions == 3 assert d2.index.name == "b" > assert_eq(d2, full.set_index("b")) dask/dataframe/tests/test_shuffle.py:515: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_set_index_datetime_precision[ns] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 unit = 'ns' @pytest.mark.parametrize("unit", ["ns", "us"]) def test_set_index_datetime_precision(unit): # https://github.com/dask/dask/issues/6864 df = pd.DataFrame( [ [1567703791155681, 1], [1567703792155681, 2], [1567703790155681, 0], [1567703793155681, 3], ], columns=["ts", "rank"], ) df.ts = pd.to_datetime(df.ts, unit=unit) ddf = dd.from_pandas(df, npartitions=2) ddf = ddf.set_index("ts") > assert_eq(ddf, df.set_index("ts")) dask/dataframe/tests/test_shuffle.py:613: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [ts, rank] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________ test_set_index_datetime_precision[us] _____________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 unit = 'us' @pytest.mark.parametrize("unit", ["ns", "us"]) def test_set_index_datetime_precision(unit): # https://github.com/dask/dask/issues/6864 df = pd.DataFrame( [ [1567703791155681, 1], [1567703792155681, 2], [1567703790155681, 0], [1567703793155681, 3], ], columns=["ts", "rank"], ) df.ts = pd.to_datetime(df.ts, unit=unit) ddf = dd.from_pandas(df, npartitions=2) ddf = ddf.set_index("ts") > assert_eq(ddf, df.set_index("ts")) dask/dataframe/tests/test_shuffle.py:613: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [ts, rank] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_set_index_drop[True] ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = True @pytest.mark.parametrize("drop", [True, False]) def test_set_index_drop(drop): pdf = pd.DataFrame( { "A": list("ABAABBABAA"), "B": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "C": [1, 2, 3, 2, 1, 3, 2, 4, 2, 3], } ) ddf = dd.from_pandas(pdf, 3) > assert_eq(ddf.set_index("A", drop=drop), pdf.set_index("A", drop=drop)) dask/dataframe/tests/test_shuffle.py:627: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B, C] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________________ test_set_index_drop[False] __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 drop = False @pytest.mark.parametrize("drop", [True, False]) def test_set_index_drop(drop): pdf = pd.DataFrame( { "A": list("ABAABBABAA"), "B": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "C": [1, 2, 3, 2, 1, 3, 2, 4, 2, 3], } ) ddf = dd.from_pandas(pdf, 3) > assert_eq(ddf.set_index("A", drop=drop), pdf.set_index("A", drop=drop)) dask/dataframe/tests/test_shuffle.py:627: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B, C] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index_empty_partition ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_empty_partition(): test_vals = [1, 2, 3] converters = [int, float, str, lambda x: pd.to_datetime(x, unit="ns")] for conv in converters: df = pd.DataFrame( [{"x": conv(i), "y": i} for i in test_vals], columns=["x", "y"] ) ddf = dd.concat( [ dd.from_pandas(df, npartitions=1), dd.from_pandas(df[df.y > df.y.max()], npartitions=1), ] ) assert any(ddf.get_partition(p).compute().empty for p in range(ddf.npartitions)) > assert assert_eq(ddf.set_index("x"), df.set_index("x")) dask/dataframe/tests/test_shuffle.py:721: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_set_index_on_empty[int] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 converter = @pytest.mark.parametrize( "converter", [int, float, str, lambda x: pd.to_datetime(x, unit="ns")] ) def test_set_index_on_empty(converter): test_vals = [1, 2, 3, 4] df = pd.DataFrame([{"x": converter(x), "y": x} for x in test_vals]) ddf = dd.from_pandas(df, npartitions=4) assert ddf.npartitions > 1 actual = ddf[ddf.y > df.y.max()].set_index("x") expected = df[df.y > df.y.max()].set_index("x") > assert assert_eq(actual, expected, check_freq=False) dask/dataframe/tests/test_shuffle.py:738: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_set_index_on_empty[float] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 converter = @pytest.mark.parametrize( "converter", [int, float, str, lambda x: pd.to_datetime(x, unit="ns")] ) def test_set_index_on_empty(converter): test_vals = [1, 2, 3, 4] df = pd.DataFrame([{"x": converter(x), "y": x} for x in test_vals]) ddf = dd.from_pandas(df, npartitions=4) assert ddf.npartitions > 1 actual = ddf[ddf.y > df.y.max()].set_index("x") expected = df[df.y > df.y.max()].set_index("x") > assert assert_eq(actual, expected, check_freq=False) dask/dataframe/tests/test_shuffle.py:738: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_set_index_on_empty[str] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 converter = @pytest.mark.parametrize( "converter", [int, float, str, lambda x: pd.to_datetime(x, unit="ns")] ) def test_set_index_on_empty(converter): test_vals = [1, 2, 3, 4] df = pd.DataFrame([{"x": converter(x), "y": x} for x in test_vals]) ddf = dd.from_pandas(df, npartitions=4) assert ddf.npartitions > 1 actual = ddf[ddf.y > df.y.max()].set_index("x") expected = df[df.y > df.y.max()].set_index("x") > assert assert_eq(actual, expected, check_freq=False) dask/dataframe/tests/test_shuffle.py:738: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________ test_set_index_on_empty[] _______________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 converter = at 0x7ffb8e312c40> @pytest.mark.parametrize( "converter", [int, float, str, lambda x: pd.to_datetime(x, unit="ns")] ) def test_set_index_on_empty(converter): test_vals = [1, 2, 3, 4] df = pd.DataFrame([{"x": converter(x), "y": x} for x in test_vals]) ddf = dd.from_pandas(df, npartitions=4) assert ddf.npartitions > 1 actual = ddf[ddf.y > df.y.max()].set_index("x") expected = df[df.y > df.y.max()].set_index("x") > assert assert_eq(actual, expected, check_freq=False) dask/dataframe/tests/test_shuffle.py:738: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:537: in assert_eq assert_divisions(a, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ____________________________ test_empty_partitions _____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_empty_partitions(): # See https://github.com/dask/dask/issues/2408 df = pd.DataFrame({"a": list(range(10))}) > df["b"] = df["a"] % 3 dask/dataframe/tests/test_shuffle.py:792: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9, key = 'b' value = 0 0 1 1 2 2 3 0 4 1 5 2 6 0 7 1 8 2 9 0 Name: a, dtype: int64 def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ___________________________ test_set_index_timestamp ___________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_set_index_timestamp(): df = pd.DataFrame({"A": pd.date_range("2000", periods=12, tz="US/Central"), "B": 1}) ddf = dd.from_pandas(df, 2) divisions = ( pd.Timestamp("2000-01-01 00:00:00-0600", tz="US/Central"), pd.Timestamp("2000-01-12 00:00:00-0600", tz="US/Central"), ) # Note: `freq` is lost during round trip df2 = df.set_index("A") ddf_new_div = ddf.set_index("A", divisions=divisions) for ts1, ts2 in zip(divisions, ddf_new_div.divisions): assert ts1.timetuple() == ts2.timetuple() assert ts1.tz == ts2.tz > assert_eq(df2, ddf_new_div, check_freq=False) dask/dataframe/tests/test_shuffle.py:837: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:538: in assert_eq assert_divisions(b, scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:606: in assert_divisions ddf.enforce_runtime_divisions().compute(scheduler=scheduler) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:373: in compute (result,) = compute(self, traverse=False, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:910: in optimize_until expr = expr.lower_completely() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:499: in lower_completely new = expr.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:465: in lower_once new = operand.lower_once(lowered) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:454: in lower_once out = expr._lower() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1177: in _lower shuffled, [c for c in assigned.columns if c != "_partitions"] ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning __________________ test_disk_shuffle_check_actual_compression __________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_disk_shuffle_check_actual_compression(): # test if the compression switch is really respected by testing the size of the actual partd-data on disk def generate_raw_partd_file(compression): # generate and write a dummy dataframe to disk and return the raw data bytes df1 = pd.DataFrame({"a": list(range(10000))}) df1["b"] = (df1["a"] * 123).astype(str) with dask.config.set({"dataframe.shuffle.compression": compression}): p1 = maybe_buffered_partd(buffer=False, tempdir=None)() p1.append({"x": df1}) # get underlying filename from partd - depending on nested structure of partd object filename = ( p1.partd.partd.filename("x") if compression else p1.partd.filename("x") ) with open(filename, "rb") as f: return f.read() # get compressed and uncompressed raw data > uncompressed_data = generate_raw_partd_file(compression=None) dask/dataframe/tests/test_shuffle.py:888: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dask/dataframe/tests/test_shuffle.py:876: in generate_raw_partd_file df1["b"] = (df1["a"] * 123).astype(str) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = a 0 0 1 1 2 2 3 3 4 4 ... ... 9995 9995 9996 9996 9997 9997 9998 9998 9999 9999 [10000 rows x 1 columns] key = 'b' value = 0 0 1 123 2 246 3 369 4 492 ... 9995 1229385 9996 1229508 9997 1229631 9998 1229754 9999 1229877 Name: a, Length: 10000, dtype: object def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________________________ test_assert_eq_sorts _____________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_assert_eq_sorts(): df = pd.DataFrame({"A": np.linspace(0, 1, 10), "B": np.random.random(10)}) df_s = df.sort_values("B") assert_eq(df, df_s) with pytest.raises(AssertionError): assert_eq(df, df_s, sort_results=False) df_sr = df_s.reset_index(drop=True) assert_eq(df, df_sr, check_index=False) with pytest.raises(AssertionError): assert_eq(df, df_sr) with pytest.raises(AssertionError): assert_eq(df, df_sr, check_index=False, sort_results=False) ddf = dd.from_pandas(df, npartitions=2) ddf_s = ddf.sort_values(["B"]) > assert_eq(df, ddf_s) dask/dataframe/tests/test_utils_dataframe.py:585: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:544: in assert_eq assert_sane_keynames(b) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [A, B] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________ test_compute_current_divisions_nan_partition _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 def test_compute_current_divisions_nan_partition(): # Compute divisions 1 null partition a = d[d.a > 3].sort_values("a") > divisions = a.compute_current_divisions("a") dask/dataframe/tests/test_shuffle.py:972: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:2363: in compute_current_divisions mins, maxes, lens = _compute_partition_stats(frame, allow_overlap=set_divisions) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:6419: in _compute_partition_stats mins, maxes, lens = compute(mins, maxes, lens) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/base.py:678: in compute expr = expr.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:416: in optimize return optimize_until(self, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:1283: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2136: in _meta if is_dataframe_like(self.frame._meta): /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_sort_values[10-a-True] __________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = 'a', ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_sort_values[10-b-False] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = 'b', ascending = False @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values[10-by2-True] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 10, by = ['a', 'b'], ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _________________________ test_sort_values[500-a-True] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = 'a', ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values[500-b-False] _________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = 'b', ascending = False @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________________ test_sort_values[500-by2-True] ________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 nelem = 500, by = ['a', 'b'], ascending = True @pytest.mark.parametrize("ascending", [True, False]) @pytest.mark.parametrize("by", ["a", "b", ["a", "b"]]) @pytest.mark.parametrize("nelem", [10, 500]) def test_sort_values(nelem, by, ascending): np.random.seed(0) df = pd.DataFrame() df["a"] = np.ascontiguousarray(np.arange(nelem)[::-1]) df["b"] = np.arange(100, nelem + 100) ddf = dd.from_pandas(df, npartitions=10) # run on single-threaded scheduler for debugging purposes with dask.config.set(scheduler="single-threaded"): got = ddf.sort_values(by=by, ascending=ascending) expect = df.sort_values(by=by, ascending=ascending) > dd.assert_eq(got, expect, check_index=False, sort_results=False) dask/dataframe/tests/test_shuffle.py:1084: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:317: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [a, b] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _____________ test_resample_pads_last_division_to_avoid_off_by_one _____________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 def test_resample_pads_last_division_to_avoid_off_by_one(): # https://github.com/dask/dask/issues/6230 times = [ 1545362463409128000, 1545362504369352000, 1545362545326966000, 1545363118769636000, 1545363159726490000, 1545363200687178000, 1545363241648824000, 1573318190393973000, 1573318231353350000, 1573318272313774000, 1573318313275299000, 1573318354233962000, 1573318395195456000, 1573318436154609000, 1580687544437145000, 1580687585394881000, 1580687667316809000, 1580687708275414000, 1580687790195742000, 1580687831154951000, 1580687872115363000, 1580687954035133000, 1559127673402811000, ] freq = "1QE" if PANDAS_GE_220 else "1Q" df = pd.DataFrame({"Time": times, "Counts": range(len(times))}) > df["Time"] = pd.to_datetime(df["Time"], utc=True) dask/dataframe/tseries/tests/test_resample.py:130: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Time Counts 0 1545362463409128000 0 1 1545362504369352000 1 2 154536254532696600...687831154951000 19 20 1580687872115363000 20 21 1580687954035133000 21 22 1559127673402811000 22 key = 'Time' value = 0 2018-12-21 03:21:03.409128+00:00 1 2018-12-21 03:21:44.369352+00:00 2 2018-12-21 03:22:25.326966+00:00 3 ...0:00 21 2020-02-02 23:59:14.035133+00:00 22 2019-05-29 11:01:13.402811+00:00 Name: Time, dtype: datetime64[ns, UTC] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ________________ test_sort_values_tasks_backend[True-z-pandas] _________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = 'z', ascending = True @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning _______________ test_sort_values_tasks_backend[True-by3-pandas] ________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 backend = 'pandas', by = ['z', 'x'], ascending = True @pytest.mark.parametrize( "backend", ["pandas", pytest.param("cudf", marks=pytest.mark.gpu)] ) @pytest.mark.parametrize("by", ["x", "z", ["x", "z"], ["z", "x"]]) @pytest.mark.parametrize("ascending", [True, False]) def test_sort_values_tasks_backend(backend, by, ascending): if backend == "cudf": pytest.importorskip("dask_cudf") pdf = pd.DataFrame( {"x": range(10), "y": [1, 2, 3, 4, 5] * 2, "z": ["cat", "dog"] * 5} ) ddf = dd.from_pandas(pdf, npartitions=10) if backend == "cudf": ddf = ddf.to_backend(backend) expect = pdf.sort_values(by=by, ascending=ascending) got = dd.DataFrame.sort_values( ddf, by=by, ascending=ascending, shuffle_method="tasks" ) > dd.assert_eq(got, expect, sort_results=False) dask/dataframe/tests/test_shuffle.py:1106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:543: in assert_eq assert_sane_keynames(a) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/utils.py:611: in assert_sane_keynames dsk = ddf.optimize() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_collection.py:572: in optimize return new_collection(self.expr.optimize(fuse=fuse)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:97: in optimize return optimize(self, **kwargs) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:891: in optimize return optimize_until(expr, stage) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:915: in optimize_until expr = expr.simplify() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:426: in simplify new = expr.simplify_once(dependents=dependents, simplified={}) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:396: in simplify_once new = operand.simplify_once( ../BUILDROOT/usr/lib/python3.14/site-packages/dask/_expr.py:369: in simplify_once out = expr._simplify_down() ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:2162: in _simplify_down str(self.frame.columns) == str(self.columns) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:451: in columns return list(self._meta.columns) /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_shuffle.py:374: in _meta meta = self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_repartition.py:50: in _meta return self.frame._meta /usr/lib64/python3.14/functools.py:1127: in __get__ val = self.func(instance) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1940: in _meta return make_meta(self.operation(*args, **self._kwargs)) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: in assign df[name] = val _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Empty DataFrame Columns: [x, y, z] Index: [], key = '_partitions' value = Series([], dtype: int64) def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning ______________________________ test_resample_agg _______________________________ [gw0] linux -- Python 3.14.0 /usr/bin/python3 df = Dask DataFrame Structure: foo bar npartitions=4 2000-01-01 00:00:00 int... ... 2000-01-01 00:09:00 ... ... 2000-01-01 00:11:00 ... ... Dask Name: frompandas, 1 expression Expr=df pdf = foo bar 2000-01-01 00:00:00 0 1 2000-01-01 00:01:00 1 1 2000-01-01 00:02:00 2 ...2000-01-01 00:08:00 8 1 2000-01-01 00:09:00 9 1 2000-01-01 00:10:00 10 1 2000-01-01 00:11:00 11 1 def test_resample_agg(df, pdf): def my_sum(vals, foo=None, *, bar=None): return vals.sum() result = df.resample("2min").agg(my_sum, "foo", bar="bar") expected = pdf.resample("2min").agg(my_sum, "foo", bar="bar") > assert_eq(result, expected) dask/dataframe/tseries/tests/test_resample_expr.py:112: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ a = Dask DataFrame Structure: foo bar npartitions=4 2000-01-01 00:00:00 int...l': None}, how_args=(.my_sum at 0x7f5ba3047270>, 'foo'), how_kwargs={'bar': 'bar'}) b = foo bar 2000-01-01 00:00:00 1 2 2000-01-01 00:02:00 5 2 2000-01-01 00:04:00 9 2 2000-01-01 00:06:00 13 2 2000-01-01 00:08:00 17 2 2000-01-01 00:10:00 21 2 serialize_graph = True, args = (), kwargs = {} obj = Dask DataFrame Structure: foo bar npartitions=4 2000-01-01 00:00:00 int...l': None}, how_args=(.my_sum at 0x7f5ba3047270>, 'foo'), how_kwargs={'bar': 'bar'}) def assert_eq(a, b, *args, serialize_graph=True, **kwargs): if serialize_graph: # Check that no `Expr` instances are found in # the graph generated by `Expr.dask` with config.set({"dask-expr-no-serialize": True}): for obj in [a, b]: if hasattr(obj, "dask"): try: > pickle.dumps(obj.dask) E _pickle.PicklingError: Can't pickle local object .my_sum at 0x7f5ba3047270> E when serializing list item 0 E when serializing tuple item 8 E when serializing tuple item 5 E when serializing dask._task_spec.Task state E when serializing dask._task_spec.Task object E when serializing dict item ('_resample_series-48369972c08adc46aa39776316a88611', 0) ../BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/tests/_util.py:34: PicklingError _____________________________ test_tokenize_pandas _____________________________ [gw1] linux -- Python 3.14.0 /usr/bin/python3 @pytest.mark.skipif("not pd") def test_tokenize_pandas(): a = pd.DataFrame({"x": [1, 2, 3], "y": ["4", "asd", None]}, index=[1, 2, 3]) b = pd.DataFrame({"x": [1, 2, 3], "y": ["4", "asd", None]}, index=[1, 2, 3]) assert check_tokenize(a) == check_tokenize(b) b.index.name = "foo" assert check_tokenize(a) != check_tokenize(b) a = pd.DataFrame({"x": [1, 2, 3], "y": ["a", "b", "a"]}) b = pd.DataFrame({"x": [1, 2, 3], "y": ["a", "b", "a"]}) > a["z"] = a.y.astype("category") dask/tests/test_tokenize.py:572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = x y 0 1 a 1 2 b 2 3 a, key = 'z' value = 0 a 1 b 2 a Name: y, dtype: category Categories (2, object): ['a', 'b'] def __setitem__(self, key, value) -> None: if not PYPY and using_copy_on_write(): if sys.getrefcount(self) <= 3: warnings.warn( _chained_assignment_msg, ChainedAssignmentError, stacklevel=2 ) elif not PYPY and not using_copy_on_write(): if sys.getrefcount(self) <= 3 and ( warn_copy_on_write() or ( not warn_copy_on_write() and any(b.refs.has_reference() for b in self._mgr.blocks) # type: ignore[union-attr] ) ): > warnings.warn( _chained_assignment_warning_msg, FutureWarning, stacklevel=2 ) E FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! E You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. E A typical example is when you are setting values in a column of a DataFrame, like: E E df["col"][row_indexer] = value E E Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. E E See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy /usr/lib64/python3.14/site-packages/pandas/core/frame.py:4285: FutureWarning =============================== warnings summary =============================== dask/array/tests/test_reductions.py::test_nan_object[min] dask/array/tests/test_reductions.py::test_nan_object[min] dask/array/tests/test_reductions.py::test_nan_object[min] dask/array/tests/test_reductions.py::test_nan_object[max] dask/array/tests/test_reductions.py::test_nan_object[max] dask/array/tests/test_reductions.py::test_nan_object[max] /usr/lib64/python3.14/site-packages/numpy/_core/fromnumeric.py:86: RuntimeWarning: invalid value encountered in reduce return ufunc.reduce(obj, axis, dtype, out, **passkwargs) dask/bytes/tests/test_http.py::test_simple /usr/lib/python3.14/site-packages/fsspec/asyn.py:125: DeprecationWarning: 'asyncio.get_event_loop_policy' is deprecated and slated for removal in Python 3.16 original_policy = asyncio.get_event_loop_policy() dask/bytes/tests/test_http.py::test_simple /usr/lib/python3.14/site-packages/fsspec/asyn.py:132: DeprecationWarning: 'asyncio.set_event_loop_policy' is deprecated and slated for removal in Python 3.16 asyncio.set_event_loop_policy(original_policy) dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/groupby.py:116: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning. return g.apply(func, *args, **kwargs) dask/dataframe/dask_expr/tests/test_groupby.py::test_groupby_apply_args /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask/dataframe/dask_expr/tests/test_groupby.py:655: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning. pdf.groupby("x").apply(lambda x, y: x + y, 1), dask/dataframe/io/tests/test_sql.py::test_to_sql[False-1] /usr/lib/python3.14/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection : None Traceback (most recent call last): File "/usr/lib64/python3.14/site-packages/pandas/core/indexes/api.py", line 265, in _find_common_index_dtype def _find_common_index_dtype(inds): ResourceWarning: unclosed database in warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) dask/dataframe/io/tests/test_sql.py::test_to_sql[True-1] /usr/lib/python3.14/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection : None Traceback (most recent call last): File "/usr/lib64/python3.14/site-packages/pandas/core/indexes/base.py", line 1671, in name @property ResourceWarning: unclosed database in warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) dask/dataframe/tests/test_arithmetics_reduction.py::test_frame_series_arithmetic_methods /usr/lib/python3.14/site-packages/_pytest/unraisableexception.py:85: PytestUnraisableExceptionWarning: Exception ignored while finalizing database connection : None Traceback (most recent call last): File "/builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/local.py", line 203, in start_state_from_dask _wait = task.dependencies - set(cache) ~~~^^^^^^^ ResourceWarning: unclosed database in warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) dask/dataframe/dask_expr/tests/test_groupby.py: 13 warnings /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask/dataframe/dask_expr/tests/test_groupby.py:399: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. A typical example is when you are setting values in a column of a DataFrame, like: df["col"][row_indexer] = value Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy x["new"] = x.sum().sum() dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: ChainedAssignmentError: A value is trying to be set on a copy of a DataFrame or Series through chained assignment. When using the Copy-on-Write mode, such chained assignment never works to update the original DataFrame or Series, because the intermediate object on which we are setting values always behaves as a copy. Try using '.loc[row_indexer, col_indexer] = value' instead, to perform the assignment in a single step. See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df[name] = val dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[0-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] dask/dataframe/dask_expr/tests/test_groupby.py::test_apply_or_transform_shuffle_multilevel[1-True] /usr/lib64/python3.14/site-packages/pandas/core/frame.py:5239: ChainedAssignmentError: A value is trying to be set on a copy of a DataFrame or Series through chained assignment. When using the Copy-on-Write mode, such chained assignment never works to update the original DataFrame or Series, because the intermediate object on which we are setting values always behaves as a copy. Try using '.loc[row_indexer, col_indexer] = value' instead, to perform the assignment in a single step. See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy data[k] = com.apply_if_callable(v, data) dask/dataframe/dask_expr/tests/test_groupby.py: 8 warnings dask/dataframe/tests/test_groupby.py: 448 warnings dask/dataframe/tests/test_shuffle.py: 6 warnings /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/dask_expr/_expr.py:1908: FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! You are setting values through chained assignment. Currently this works in certain cases, but when using Copy-on-Write (which will become the default behaviour in pandas 3.0) this will never work to update the original DataFrame or Series, because the intermediate object on which we are setting values will behave as a copy. A typical example is when you are setting values in a column of a DataFrame, like: df["col"][row_indexer] = value Use `df.loc[row_indexer, "col"] = values` instead, to perform the assignment in a single step and ensure this keeps updating the original `df`. See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df[name] = val dask/dataframe/tests/test_groupby.py: 56 warnings /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/groupby.py:140: DeprecationWarning: DataFrameGroupBy.apply operated on the grouping columns. This behavior is deprecated, and in a future version of pandas the grouping columns will be excluded from the operation. Either pass `include_groups=False` to exclude the groupings or explicitly select the grouping columns after groupby to silence this warning. return g.apply(func, *args, **kwargs) dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum0] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum0] /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask/dataframe/tests/test_groupby.py:2272: FutureWarning: The provided callable is currently using DataFrameGroupBy.sum. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string "sum" instead. pdf.groupby("A").transform(transformation), dask/dataframe/tests/test_groupby.py: 14 warnings /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/groupby.py:142: FutureWarning: The provided callable is currently using DataFrameGroupBy.sum. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string "sum" instead. return g.transform(func, *args, **kwargs) dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum0] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum0] /usr/lib64/python3.14/site-packages/numpy/_core/fromnumeric.py:84: FutureWarning: The behavior of DataFrame.sum with axis=None is deprecated, in a future version this will reduce over both axes and return a scalar. To retain the old behavior, pass axis=0 (or do not pass axis) return reduction(axis=axis, out=out, **passkwargs) dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[disk-sum0] dask/dataframe/tests/test_groupby.py::test_groupby_transform_funcs[tasks-sum0] /builddir/build/BUILD/python-dask-2025.4.1-build/dask-2025.4.1/dask/dataframe/tests/test_groupby.py:2278: FutureWarning: The provided callable is currently using SeriesGroupBy.sum. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string "sum" instead. pdf.groupby("A")["B"].transform(transformation), dask/dataframe/tests/test_groupby.py: 14 warnings /builddir/build/BUILD/python-dask-2025.4.1-build/BUILDROOT/usr/lib/python3.14/site-packages/dask/dataframe/groupby.py:142: FutureWarning: The provided callable is currently using SeriesGroupBy.sum. In a future version of pandas, the provided callable will be used directly. To keep current behavior pass the string "sum" instead. return g.transform(func, *args, **kwargs) dask/tests/test_multiprocessing.py::test_custom_context_used_python3_posix dask/tests/test_multiprocessing.py::test_custom_context_used_python3_posix /usr/lib64/python3.14/multiprocessing/popen_fork.py:70: DeprecationWarning: This process (pid=4103) is multi-threaded, use of fork() may lead to deadlocks in the child. self.pid = os.fork() -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ============================= slowest 10 durations ============================= 9.17s call dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-False] 8.87s call dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-False] 7.76s call dask/dataframe/tests/test_arithmetics_reduction.py::test_frame_series_arithmetic_methods 7.32s call dask/dataframe/io/tests/test_io.py::test_to_bag 6.32s call dask/dataframe/dask_expr/tests/test_groupby.py::test_split_out_automatically 5.36s call dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[disk-True] 5.34s call dask/dataframe/tests/test_groupby.py::test_split_apply_combine_on_series[tasks-True] 4.01s call dask/dataframe/tests/test_dataframe.py::test_repartition 3.86s call dask/dataframe/dask_expr/tests/test_concat.py::test_concat5 3.49s call dask/dataframe/tests/test_multi.py::test_concat5 =========================== short test summary info ============================ SKIPPED [1] dask/array/tests/test_cupy_core.py:14: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_creation.py:13: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_gufunc.py:12: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_linalg.py:12: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_overlap.py:12: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_percentile.py:11: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_random.py:13: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_reductions.py:14: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_routines.py:12: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_slicing.py:12: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_cupy_sparse.py:10: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_image.py:8: could not import 'skimage': No module named 'skimage' SKIPPED [1] dask/array/tests/test_sparse.py:12: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/array/tests/test_xarray.py:13: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/bytes/tests/test_s3.py:14: could not import 's3fs': No module named 's3fs' SKIPPED [1] dask/dataframe/dask_expr/io/tests/test_distributed.py:7: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/dataframe/dask_expr/tests/test_diagnostics.py:7: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/dataframe/dask_expr/tests/test_distributed.py:12: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_cache.py:13: could not import 'cachey': No module named 'cachey' SKIPPED [1] dask/tests/test_distributed.py:5: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_dot.py:12: could not import 'ipycytoscape': No module named 'ipycytoscape' SKIPPED [1] dask/tests/test_layers.py:7: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_spark_compat.py:13: could not import 'pyspark': No module named 'pyspark' SKIPPED [1] dask/widgets/tests/test_widgets.py:7: could not import 'jinja2': No module named 'jinja2' SKIPPED [15] conftest.py:66: need --runarrayexpr option to run SKIPPED [60] dask/array/tests/test_creation.py:924: Bug when pad_width is larger than dimension: https://github.com/dask/dask/issues/5303 SKIPPED [20] dask/array/tests/test_creation.py:924: Not implemented SKIPPED [20] dask/array/tests/test_creation.py:924: Empty leads to undefined values, which may be different SKIPPED [1] dask/array/tests/test_array_core.py:1976: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/array/tests/test_array_core.py:1982: could not import 'jinja2': No module named 'jinja2' SKIPPED [1] dask/array/tests/test_array_core.py:3897: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/array/tests/test_array_core.py:5148: could not import 'tiledb': No module named 'tiledb' SKIPPED [1] dask/array/tests/test_array_core.py:5182: could not import 'tiledb': No module named 'tiledb' SKIPPED [6] dask/array/tests/test_array_core.py:5381: could not import 'cupyx.scipy.sparse': No module named 'cupyx' SKIPPED [1] dask/array/tests/test_gufunc.py:618: could not import 'numba': No module named 'numba' SKIPPED [1] dask/array/tests/test_gufunc.py:641: could not import 'numba': No module named 'numba' SKIPPED [1] dask/array/tests/test_gufunc.py:657: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/array/tests/test_array_core.py:5596: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/array/tests/test_array_core.py:5756: array roundtrips don't work yet SKIPPED [1] dask/array/tests/test_array_core.py:5881: could not import 'xarray': No module named 'xarray' SKIPPED [3] dask/array/tests/test_array_function.py:105: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/array/tests/test_array_function.py:117: could not import 'sparse': No module named 'sparse' SKIPPED [2] dask/array/tests/test_array_function.py:134: could not import 'cupy': No module named 'cupy' SKIPPED [288] dask/array/tests/test_creation.py:49: could not import 'cupy': No module named 'cupy' SKIPPED [198] conftest.py:64: need --runslow option to run SKIPPED [1] dask/array/tests/test_overlap.py:979: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/array/tests/test_percentiles.py:62: unconditional skip SKIPPED [1] dask/array/tests/test_random.py:431: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/array/tests/test_reductions.py:835: could not import 'xarray': No module named 'xarray' SKIPPED [4] dask/array/tests/test_routines.py:2103: Skipped SKIPPED [1] dask/array/tests/test_slicing.py:439: really long test SKIPPED [1] dask/array/tests/test_svg.py:27: could not import 'jinja2': No module named 'jinja2' SKIPPED [1] dask/array/tests/test_svg.py:61: could not import 'jinja2': No module named 'jinja2' SKIPPED [1] dask/array/tests/test_ufunc.py:143: fix calls floor in a way that we do not yet support SKIPPED [4] dask/bag/tests/test_text.py:49: compress function not provided for lzma SKIPPED [4] dask/bag/tests/test_text.py:49: compress function not provided for snappy SKIPPED [2] dask/bytes/tests/test_compression.py:14: compression function not provided SKIPPED [4] dask/bytes/tests/test_local.py:198: compression function not provided SKIPPED [4] dask/bytes/tests/test_local.py:249: compression function not provided SKIPPED [16] dask/dataframe/dask_expr/tests/test_merge.py:628: Runtime still slower than I would like, so save some time SKIPPED [2] dask/dataframe/io/tests/test_csv.py:772: compress function not provided for lzma SKIPPED [2] dask/dataframe/io/tests/test_csv.py:772: compress function not provided for snappy SKIPPED [1] dask/dataframe/io/tests/test_csv.py:793: unconditional skip SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:26: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:57: segfaults due to https://github.com/PyTables/PyTables/issues/977 SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:141: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:234: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:282: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:339: segfaults due to https://github.com/PyTables/PyTables/issues/977 SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:413: No need to run with pyarrow strings SKIPPED [9] dask/dataframe/io/tests/test_hdf.py:433: segfaults due to https://github.com/PyTables/PyTables/issues/977 SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:504: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:520: No need to run with pyarrow strings SKIPPED [2] dask/dataframe/io/tests/test_hdf.py:577: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:621: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:634: segfaults due to https://github.com/PyTables/PyTables/issues/977 SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:691: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:709: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:746: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:766: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:779: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:793: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:805: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:816: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:830: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_hdf.py:872: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_io.py:318: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/io/tests/test_io.py:520: could not import 'cupy': No module named 'cupy' SKIPPED [1] dask/dataframe/io/tests/test_io.py:968: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/io/tests/test_io.py:986: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/io/tests/test_parquet.py:85: pyarrow are installed SKIPPED [1] dask/dataframe/io/tests/test_parquet.py:894: No need to run with pyarrow strings SKIPPED [25] dask/dataframe/io/tests/test_parquet.py:1001: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_parquet.py:1136: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/io/tests/test_parquet.py:3792: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/io/tests/test_parquet.py:4047: could not import 'botocore': No module named 'botocore' SKIPPED [1] dask/dataframe/io/tests/test_sql.py:117: Requires a postgres server. Sqlite does not support multiple schemas. SKIPPED [1] dask/dataframe/tests/test_accessors.py:52: from_pandas doesn't support Index SKIPPED [1] dask/dataframe/dask_expr/tests/test_format.py:18: could not import 'jinja2': No module named 'jinja2' SKIPPED [1] dask/dataframe/dask_expr/tests/test_format.py:176: could not import 'jinja2': No module named 'jinja2' SKIPPED [2] dask/dataframe/tests/test_arithmetics_reduction.py:596: numpy>2 removed product -- users should move to prod SKIPPED [1] dask/dataframe/tests/test_categorical.py:123: could not import 'dask_cudf': No module named 'dask_cudf' SKIPPED [1] dask/dataframe/tests/test_dataframe.py:2931: Available at 2.1 SKIPPED [3] dask/dataframe/tests/test_dataframe.py:3033: https://github.com/rapidsai/cudf/issues/16560 SKIPPED [1] dask/dataframe/tests/test_dataframe.py:3106: https://github.com/rapidsai/cudf/issues/16560 SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4260: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4491: could not import 'sparse': No module named 'sparse' SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4568: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4808: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4820: No need to run with pyarrow strings SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4877: not important now SKIPPED [1] dask/dataframe/tests/test_dataframe.py:4887: not important now SKIPPED [1] dask/dataframe/tests/test_dataframe.py:5280: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/tests/test_dataframe.py:5311: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/dataframe/tests/test_dataframe.py:5329: could not import 'xarray': No module named 'xarray' SKIPPED [4] dask/dataframe/tests/test_groupby.py:689: https://github.com/dask/dask/issues/10034 SKIPPED [1] dask/dataframe/tests/test_groupby.py:849: Tasks-only shuffle test SKIPPED [6] dask/dataframe/tests/test_groupby.py:2105: No need to run with pyarrow strings SKIPPED [108] dask/dataframe/tests/test_groupby.py:2490: could not import 'cudf': No module named 'cudf' SKIPPED [4] dask/dataframe/tests/test_groupby.py:2521: could not import 'cudf': No module named 'cudf' SKIPPED [4] dask/dataframe/tests/test_groupby.py:2558: could not import 'dask_cudf': No module named 'dask_cudf' SKIPPED [2] dask/dataframe/tests/test_groupby.py:2659: could not import 'cudf': No module named 'cudf' SKIPPED [48] dask/dataframe/tests/test_groupby.py:2814: Gives zeros rather than nans. SKIPPED [16] dask/dataframe/tests/test_groupby.py:2810: Can't calculate median over categorical SKIPPED [16] dask/dataframe/tests/test_groupby.py:2812: Can't deal with unobserved cats in median at the moment SKIPPED [20] dask/dataframe/tests/test_groupby.py:1145: https://github.com/dask/dask/issues/9509 SKIPPED [1] dask/dataframe/tests/test_indexing.py:648: could not import 'cudf': No module named 'cudf' SKIPPED [2] dask/dataframe/tests/test_merge_column_and_index.py:260: breaks with pandas=2.1.0+ SKIPPED [6] dask/dataframe/tests/test_multi.py:871: could not import 'cudf': No module named 'cudf' SKIPPED [8] dask/dataframe/tests/test_multi.py:1191: breaks with pandas=2.1.0+ SKIPPED [32] dask/dataframe/tests/test_groupby.py:2816: Can't calculate observed with all nans SKIPPED [1] dask/dataframe/tests/test_multi.py:2150: could not import 'cudf': No module named 'cudf' SKIPPED [96] dask/dataframe/tests/test_groupby.py:2808: Not implemented for DataFrameGroupBy yet. SKIPPED [12] dask/dataframe/tests/test_groupby.py:3068: https://github.com/dask/dask/issues/9882 SKIPPED [8] dask/dataframe/tests/test_shuffle.py:1094: could not import 'dask_cudf': No module named 'dask_cudf' SKIPPED [1] dask/dataframe/tests/test_rolling.py:476: could not import 'numba': No module named 'numba' SKIPPED [1] dask/dataframe/tests/test_shuffle.py:501: could not import 'dask_cudf': No module named 'dask_cudf' SKIPPED [1] dask/dataframe/tests/test_shuffle.py:539: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/dataframe/tests/test_shuffle.py:568: could not import 'cudf': No module named 'cudf' SKIPPED [3] dask/dataframe/tests/test_ufunc.py:532: Numpy started overflowing while we are casting to float SKIPPED [1] dask/dataframe/tests/test_ufunc.py:181: fix calls floor in a way that we do not yet support SKIPPED [1] dask/diagnostics/tests/test_profiler.py:180: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:197: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:225: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:266: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:295: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:303: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:331: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:344: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_profiler.py:363: condition: not bokeh SKIPPED [1] dask/diagnostics/tests/test_progress.py:100: could not import 'cachey': No module named 'cachey' SKIPPED [1] dask/tests/test_backends.py:13: could not import 'cudf': No module named 'cudf' SKIPPED [1] dask/tests/test_base.py:535: could not import 'ipycytoscape': No module named 'ipycytoscape' SKIPPED [1] dask/tests/test_ci.py:11: Only check for dev packages in `upstream` CI build SKIPPED [1] dask/tests/test_delayed.py:935: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_datasets.py:9: could not import 'mimesis': No module named 'mimesis' SKIPPED [1] dask/tests/test_datasets.py:18: could not import 'mimesis': No module named 'mimesis' SKIPPED [1] dask/tests/test_datasets.py:24: could not import 'mimesis': No module named 'mimesis' SKIPPED [1] dask/tests/test_datasets.py:43: could not import 'mimesis': No module named 'mimesis' SKIPPED [1] dask/tests/test_highgraph.py:140: could not import 'jinja2': No module named 'jinja2' SKIPPED [1] dask/tests/test_imports.py:43: could not import 'bokeh': No module named 'bokeh' SKIPPED [1] dask/tests/test_imports.py:48: could not import 'distributed': No module named 'distributed' SKIPPED [2] dask/tests/test_order.py:1396: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/tests/test_order.py:1433: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/tests/test_order.py:2345: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/tests/test_sizeof.py:257: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/tests/test_sizeof.py:279: could not import 'xarray': No module named 'xarray' SKIPPED [1] dask/tests/test_task_spec.py:354: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_task_spec.py:391: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_tokenize.py:961: https://github.com/dask/dask/issues/11457 SKIPPED [1] dask/tests/test_multiprocessing.py:287: POSIX supports different contexts SKIPPED [1] dask/tests/test_multiprocessing.py:300: POSIX supports different contexts SKIPPED [5] dask/tests/test_tokenize.py:1376: condition: not numba SKIPPED [1] dask/tests/test_tokenize.py:1389: condition: not numba SKIPPED [1] dask/tests/test_tokenize.py:1395: condition: not numba SKIPPED [1] dask/tests/test_traceback.py:113: could not import 'distributed': No module named 'distributed' SKIPPED [1] dask/tests/test_utils.py:464: could not import 'multipledispatch': No module named 'multipledispatch' SKIPPED [1] dask/tests/test_utils.py:934: could not import 'cupy': No module named 'cupy' FAILED dask/bag/tests/test_bag.py::test_multiple_repartition_partition_size - dask.multiprocessing.TypeError: cannot pickle 'itertools.chain' object FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[parquet-read_parquet-ReadParquet] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar[csv-read_csv-FromMap] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_combine_similar_no_projection_on_one_branch - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_io.py::test_map_partitions_assign_fusedio - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_to_parquet[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_timestamp_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/io/tests/test_parquet.py::test_read_parquet_index_projection - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_align_partitions.py::test_assign_align_partitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorical_set_index - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_categorical.py::test_categorize_drops_category_columns - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_dot - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_groupby.py::test_numeric_column_names - _pickle.PicklingError: Can't pickle local object 6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_partitioning_knowledge.py::test_avoid_shuffle_when_possible[7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_reductions.py::test_reduction_method - _pickle.PicklingError: Can't pickle local object FAILED dask/dataframe/io/tests/test_csv.py::test_enforce_columns[read_table-blocks1] - Failed: DID NOT RAISE FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_csv-read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files[read_table-read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_csv-read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_files_list[read_table-read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column[read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_as_str[read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_is_dtype_category[read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_csv-files0] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_include_path_column_with_multiple_partitions_per_file[read_table-files1] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_index - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_csv.py::test_usecols - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_consistent_dtypes - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_categorical_dtypes - FutureWarning: An error occurred while calling the read_csv method register... FAILED dask/dataframe/io/tests/test_csv.py::test_categorical_known - FutureWarning: An error occurred while calling the read_csv method register... FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None0-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[zip-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[bz2-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[gzip-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[xz-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-None] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_read_csv_compression[None1-10] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_header_int[3] - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_assume_missing - FutureWarning: An error occurred while calling the read_csv method register... FAILED dask/dataframe/io/tests/test_csv.py::test_robust_column_mismatch - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_different_columns_are_allowed - ValueError: Mismatched dtypes found in `pd.read_csv`/`pd.read_table`. FAILED dask/dataframe/io/tests/test_csv.py::test_reading_empty_csv_files_with_path - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[split] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[records] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_column[values] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_json.py::test_read_json_with_path_converter - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_to_datetime_timezone - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_categorical[pyarrow-pyarrow] - FutureWarning: An error occurred while calling the read_parquet method regi... FAILED dask/dataframe/io/tests/test_parquet.py::test_append_with_partition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_cats_2[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_categories[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[infer-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_pyarrow_schema_inference[complex-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_duplicates[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[aa] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_partition_on_string[partition_on1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_filters_categorical[pyarrow-pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_parquet_select_cats[pyarrow] - FutureWarning: An error occurred while calling the read_parquet method regi... FAILED dask/dataframe/io/tests/test_parquet.py::test_writing_parquet_with_kwargs[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_select_partitioned_column[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_arrow_partitioning - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_append_cat_fp[pyarrow] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df3] - FutureWarning: An error occurred while calling the read_parquet method regi... FAILED dask/dataframe/io/tests/test_parquet.py::test_roundtrip_arrow[df4] - FutureWarning: An error occurred while calling the read_parquet method regi... FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_columns_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_parent_mixed_column_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_setitem_triggering_realign - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-infer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/io/tests/test_parquet.py::test_timeseries_nulls_in_schema[pyarrow-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/dask_expr/tests/test_collection.py::test_apply_infer_columns - _pickle.PicklingError: Can't pickle local object 0-True] - _pickle.PicklingError: Can't pickle local object .0-False] - _pickle.PicklingError: Can't pickle local object .1-True] - _pickle.PicklingError: Can't pickle local object .1-False] - _pickle.PicklingError: Can't pickle local object .0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[disk-True-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_get_group[tasks-True-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumsum-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumprod-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[disk-cumcount-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumsum-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumprod-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_cumfunc_with_named_index[tasks-cumcount-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign_callable - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign_dtypes - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign_pandas_series - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_fillna_duplicate_index - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_fillna_series_types - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include0-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[None-exclude1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include2-exclude2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_select_dtypes[include3-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_drop_columns[columns1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_cov_corr_mixed[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_astype_categoricals - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_astype_categoricals_known - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_gh_1301 - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_column_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_array_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_columns_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_attribute_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_setitem_triggering_realign - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_inplace_operators - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_copy - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_every] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-disk-split_out] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_cumulative_multiple_columns - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_every] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_setitem - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_reduction_split[median-tasks-split_out] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_setitem_with_bool_series_as_key - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_dtype_cast - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign_na_float_columns - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_assign_no_warning_fragmented - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_dot - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_dot_nan - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_dataframe.py::test_transform_getitem_works[sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-sync] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[disk-threads] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-sync] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_on_index[tasks-threads] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_apply_tasks[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumcount-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumsum-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumprod-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[tasks-cumcount-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_groupby_multi_character_column_name[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_unaligned_index[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[disk-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_dataframe_cum_caching[tasks-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumcount] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[disk-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumcount] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_agg_funcs[tasks-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-min-idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk-mean-idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[disk--idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-1-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-min-idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks-mean-idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--group_args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_column_and_index_apply[tasks--idx] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-disk-2-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-1-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[disk-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_dataframe_aggregations_multilevel[median-tasks-2-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_group_keys[tasks-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_shift_with_freq[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column0-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column1-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[disk-column2-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column0-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column1-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_split_out_multiindex[tasks-column2-3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on2-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_known[on3-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-disk-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on2-tasks-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-disk-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_single_to_known[on3-tasks-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[idx-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on1-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on2-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_unknown[on3-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-1-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[idx-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-disk-2-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-1-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on1-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_series_aggregations_multilevel[median-tasks-2-2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on2-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_known[on3-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[idx-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on1-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on2-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-inner-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-left-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-right-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_unknown_to_unknown[on3-outer-tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[tasks-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_join[disk-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumsum-key1-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-True-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-a] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-disk-0.75-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-c] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-True-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-d] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on2-tasks-0.75-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-True-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-disk-0.75-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_cumulative[disk-cumprod-a-sel4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-True-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_merge_column_and_index.py::test_merge_known_to_double_bcast_left[on3-tasks-0.75-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_methods.py::test_assign_not_modifying_array_inplace - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-disk-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[min-tasks-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_asof_with_empty - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_with_operation_remains_hlg - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-disk-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-inner] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-left] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_columns_dtypes[True-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge[disk-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge[disk-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[max-tasks-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge[tasks-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge[tasks-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[disk-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_empty_left_df[tasks-outer] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[count-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-disk-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[size-tasks-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-True-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical[False-False-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_categorical_mixed_simple - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_datetimeindex - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_singleton_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_repartition_repeated_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_multi_duplicate_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_ignore_order[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_concat_ignore_order[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Int64] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[Float64] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[int64[pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_nullable_types_merge[float64[pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_categorical_join - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_categorical_merge_with_merge_column_cat_in_one_and_not_other_upcasts - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_categorical_merge_retains_category_dtype - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-inner] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-left] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-28-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-inner] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-left] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[lg-32-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-inner] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-left] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-28-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-inner] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-left] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_multi.py::test_merge_tasks_large_to_small[sm-32-right] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-disk-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[first-tasks-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-disk-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-observed-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_reshape.py::test_get_dummies_categories_order - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_reshape.py::test_get_dummies_errors - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-cat_1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-ordered-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_aggregate_categorical_observed[last-tasks-unobserved-groupby1-unordererd-unknown] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_reshape.py::test_pivot_table_errors - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[disk-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_groupby.py::test_groupby_numeric_only_true[tasks-cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-x-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-z-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by2-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[False-by3-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-a-False-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-b-False-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data0-5-by2-False-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[disk-7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_general[tasks-7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-a-False-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[python]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-string[pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[disk-object] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-b-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[python]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-string[pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-True-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_string[tasks-object] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-first] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_names[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_with_nulls[data1-5-by2-False-last] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_2[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_by_as_list - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_2[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_3[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_custom_function[10-by1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_3[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_bool_ascending - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[True-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_timestamp[3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data5-date32[pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_no_sort[False-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_pyarrow_dtype[data9-time64[ns][pyarrow]] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[disk] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_nulls_introduced - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_shuffle_sort[tasks] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_with_explicit_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_divisions_2 - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index[pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[ns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_datetime_precision[us] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_drop[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_drop[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_empty_partition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[int] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[float] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[str] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_on_empty[] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_empty_partitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_set_index_timestamp - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_disk_shuffle_check_actual_compression - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_utils_dataframe.py::test_assert_eq_sorts - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_compute_current_divisions_nan_partition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-a-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-b-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[10-by2-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-a-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-b-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values[500-by2-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tseries/tests/test_resample.py::test_resample_pads_last_division_to_avoid_off_by_one - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-z-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tests/test_shuffle.py::test_sort_values_tasks_backend[True-by3-pandas] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! FAILED dask/dataframe/tseries/tests/test_resample_expr.py::test_resample_agg - _pickle.PicklingError: Can't pickle local object 0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[8] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[9] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[10] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[11] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[12] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[13] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rtruediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[14] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[15] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[16] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[17] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[18] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[19] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_conditionals[20] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[1-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[2-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_diff[None-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rfloordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rmod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-add-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[dataframe-False-rpow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-sub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-add-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mul-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-sub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-div-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mul-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-divide-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-truediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-floordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-mod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-pow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-radd-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rsub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_errors - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_slice - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_iloc_slice - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[False-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_columns_dtype_on_empty_slice[True-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_series - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_array - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_loc_with_function - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_indexing.py::test_reverse_indexing - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_broadcast - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap[4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[series-True-rmul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_partitions_partition_info - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_errors - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-div-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-True-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup0-False-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-divide-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-True-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup1-False-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-truediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-True-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup2-False-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-True-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-floordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-True-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-True-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_map_overlap_multiple_dataframes[overlap_setup3-False-False-False-4-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_map_partitions_overlap.py::test_token_given - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-mod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-pow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-radd-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rsub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmul-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rdiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rtruediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rfloordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_predicate_pushdown.py::test_rewrite_filters_query - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_median - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_min_dt - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[1-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_drop_duplicates[True-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[1-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rmod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts[True-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_sort - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[1-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique[True-5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[False-21-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[None-23-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[5-23-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_split_every[2-31-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[False-53] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[None-57] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[5-57] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-True-rpow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_dataframe_mode_split_every[2-73] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-mode] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[False-31-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-mode] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[None-33-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-mode] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[5-33-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-mode] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_series_split_every[2-41-count] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-add-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[sum-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[prod-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[min-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[max-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[any-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[all-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[mode-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[count-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2[nunique_approx-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[drop_duplicates-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[unique-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts--1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_split_every_lt2_split_out[value_counts-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[None] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-sub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_nunique_approx[10] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unique_base - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_value_counts_split_out_normalize - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func8] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func9] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func10] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func11] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func12] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_reductions[func13] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[func3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_index_reductions[] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_unimplemented_on_index[func7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_cov_corr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mul-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_reductions.py::test_mean_series_axis_none - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-div-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-divide-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-truediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-floordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-mod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-pow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-radd-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rsub-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmul-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rdiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_ufunc - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[mean] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[std] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[sum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumsum] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[cumprod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[var] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[max] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[all] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[any] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_reducers[prod] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_ufunc.py::test_clip - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rtruediv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rfloordiv-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rmod-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-None-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-None-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-0-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-columns] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_method_operators[1-False-rpow-1-x-0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_binary_operator[4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_and_or[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[start] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timestamp[end] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[7] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[8] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[9] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[10] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[11] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[12] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[13] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[14] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[15] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[16] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[17] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[18] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[19] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[20] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[21] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[22] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[23] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[24] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[25] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[26] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[27] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[28] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[29] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[30] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[31] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[32] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[33] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[34] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[35] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[36] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[37] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[38] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[39] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[40] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[41] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[42] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[43] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[44] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[45] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[46] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise[47] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_select_dtypes_projection - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_mask_where - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isna - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_clear_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_numeric - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_to_timedelta - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_not_implemented - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_blockwise_pandas_only_warning[3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_map_meta - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_add_suffix_add_prefix - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_axis - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_series_name - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_repr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_round - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_combine_first_simplify - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_traverse_filter - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_columns_traverse_filters - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_clip_traverse_filters - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-projection2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[x-zz1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-projection2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_subset_simplify[subset1-zz1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_broadcast - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_persist - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_index - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_down - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_case_when - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_head - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_tail_repartition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_down - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_tail - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_tail_repartition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_stacking_coercion - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_projection_pushdown_dim_0 - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_remove_unnecessary_projections - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_substitute_parameters - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_copy - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_partitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_get_partition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_column_getattr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_serialization - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_size_optimized - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_series_iter - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_iterrows - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dataframe_itertuples - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_array_assignment - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_setattr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_projection_no_renamer - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_projection_drop - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[list] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[array] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Series] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_getitem_column_types[Index] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_random_partitions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_depth - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_partitions_nested - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[7-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_npartitions[12-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_divisions[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_no_op - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_repartition_partition_size - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_len - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_simplify - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_split_out - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_walk - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_find_operations - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[x] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_simplify[subset1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dir - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-replace-args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isin-args1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-clip-args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-isna-args3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-round-args4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-abs-args5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[x-fillna-args6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-replace-args0] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isin-args1] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-clip-args2] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-isna-args3] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-round-args4] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-abs-args5] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_simplify_up_blockwise[indexer1-fillna-args6] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_as_predicate - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_sample - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_align - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique[True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_nunique_approx - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_memory_usage_per_partition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_new_column_not_needed - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_simplify_series - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_non_series_inputs - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_squash_together - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_rename_series_reduction - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_are_co_aligned - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_pandas_inputs - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_categories - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_simplify - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_can_co_align - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_mixed_array_op - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_len_shuffle_repartition - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_columns_setter - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_contains - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown_unavailable - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_filter_pushdown - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shape - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_size - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_duplicates_groupby - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_expression_bool_raises - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_expr_is_scalar - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_quantile_frame - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_quantile - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dtype - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[B-False] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[D-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_datetime[h-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_isin_head - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_head_npartitions_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[D-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_period_index[h-True] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[min] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[D] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shift_with_freq_TimedeltaIndex[h] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_iter - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_items - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_predicate_pushdown_ndim_change - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_axes - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_scalar_repr - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_array_conversion - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_dt_accessor - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_reset_index_filter_pushdown - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_dt_accessor_not_available - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_astype_filter_pushdown - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_not_available - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_drop_set - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_getitem - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_shape_integer - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_extractall - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removeprefix] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_removeprefix_removesuffix[removesuffix] - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_str_accessor_cat - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_assign_overwriting_column - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_collection.py::test_dropna_merge - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/tests/test_accessors.py::test_string_nullable_types - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_str - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_pdf - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_divisions - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_object - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_no_columns - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_simplify_projection_not_added - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_co_aligned - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_all_divisions_unknown - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_axis_one_drop_dfs_not_selected - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_index - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_one_series - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_concat.py::test_concat_series_and_projection - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_simple - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_with_non_fusable_on_top - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_repeat - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_optimize_fusion_broadcast - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_persist_with_fusion - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! ERROR dask/dataframe/dask_expr/tests/test_fusion.py::test_name - FutureWarning: ChainedAssignmentError: behaviour will change in pandas 3.0! = 871 failed, 11843 passed, 1232 skipped, 282 xfailed, 263 xpassed, 594 warnings, 3116 errors, 20 rerun in 802.13s (0:13:22) = error: Bad exit status from /var/tmp/rpm-tmp.txOTKE (%check) Bad exit status from /var/tmp/rpm-tmp.txOTKE (%check) RPM build errors: Finish: rpmbuild python-dask-2025.4.1-3.fc43~bootstrap.src.rpm Finish: build phase for python-dask-2025.4.1-3.fc43~bootstrap.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1753885010.838369/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/python-dask-2025.4.1-3.fc43~bootstrap.src.rpm) Config(fedora-rawhide-x86_64) 14 minutes 7 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 012f2554ace84a1d874cec2d42295461 -D /var/lib/mock/fedora-rawhide-x86_64-1753885010.838369/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.syevb29e:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --target x86_64 /builddir/build/originals/python-dask.spec' Copr build error: Build failed